Function at 0x5491e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b6484
mov eax, dword fs:[0]
push eax
sub esp, 0x1cc
mov eax, dword [0x5fa040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov dword [ebp - 0xc0], ebx
mov edi, dword [ebp + 8]
push ecx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x154], edi
call fcn.00545950
test eax, eax
jne 0x54ac40
lea eax, [ebx + 0x20]
xorps xmm0, xmm0
mov byte [eax], 0
lea edx, [ebx + 0x85]
mov dword [ebp - 0x94], eax
xor al, al
mov byte [ebp - 0x7a], al
mov byte [ebp - 0x79], al
xor eax, eax
movlpd qword [ebp - 0xa4], xmm0
movlpd qword [ebp - 0xd0], xmm0
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x98], eax
movlpd qword [ebp - 0xd8], xmm0
mov dword [ebp - 0x8c], edx
cmp byte [ebx + 0x110], al
je 0x54929b
mov byte [ebx + 0x78], 1
mov eax, 1
jmp 0x54991a
mov dword [ebp - 0xe8], edx
cmp byte [edx], al
je 0x549883
cmp byte [ebx + 0x86], al
je 0x549883
mov ecx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x4c]
add ecx, 4
adc eax, 0
push eax
push ecx
push dword [ebx + 0x68]
mov ecx, ebx
call fcn.00545880
mov eax, dword [ebx + 0x24]
mov byte [ebx + 0x22], 0
cmp eax, 0x6064b50
jne 0x54946b
lea eax, [ebp - 0x80]
mov byte [ebx + 0x79], 1
push eax
push 8
lea eax, [ebp - 0x2c]
mov ecx, ebx
push eax
call fcn.00545a20
test eax, eax
jne 0x54ac5e
cmp dword [ebp - 0x80], 8
jne 0x54ac77
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x2c]
test eax, eax
jne 0x549319
cmp esi, 0x2c
jb 0x5495a2
cmp eax, 0x40000000
ja 0x5495a2
jb 0x54932e
test esi, esi
jae 0x5495a2
lea eax, [ebp - 0x80]
mov ecx, ebx
push eax
push 0x2c
lea eax, [ebp - 0x74]
push eax
call fcn.00545a20
test eax, eax
jne 0x54ac88
cmp dword [ebp - 0x80], 0x2c
jne 0x54aca1
cmp dword [ebp - 0x70], eax
jne 0x5495a2
cmp dword [ebp - 0x6c], eax
jne 0x5495a2
mov eax, dword [ebp - 0x68]
or eax, dword [ebp - 0x64]
jne 0x5495a2
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x5c]
jne 0x5495a2
mov eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x54]
jne 0x5495a2
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x4c]
jne 0x5495a2
push eax
mov eax, dword [ebp - 0x28]
add esi, 0xffffffd4
mov ecx, ebx
adc eax, 0xffffffff
push eax
push esi
call fcn.005466a0
test eax, eax
jne 0x54ac40
lea eax, [ebp - 0x80]
mov byte [ebx + 0x22], 1
push eax
push 4
lea eax, [ebp - 0x84]
mov ecx, ebx
push eax
call fcn.00545a20
test eax, eax
jne 0x54acb2
cmp dword [ebp - 0x80], 4
jne 0x54accb
mov eax, dword [ebp - 0x84]
mov dword [ebx + 0x24], eax
cmp eax, 0x7064b50
jne 0x5495a2
lea eax, [ebp - 0x80]
mov ecx, ebx
push eax
push 0x10
lea eax, [ebp - 0x24]
push eax
call fcn.00545a20
test eax, eax
jne 0x54acdc
cmp dword [ebp - 0x80], 0x10
jne 0x54acf5
cmp dword [ebp - 0x24], eax
jne 0x5495a2
cmp dword [ebp - 0x18], eax
jne 0x5495a2
mov eax, dword [ebp - 0x20]
or eax, dword [ebp - 0x1c]
jne 0x5495a2
lea eax, [ebp - 0x80]
mov byte [ebx + 0x22], 1
push eax
push 4
lea eax, [ebp - 0x84]
mov ecx, ebx
push eax
call fcn.00545a20
test eax, eax
jne 0x54ad06
cmp dword [ebp - 0x80], 4
jne 0x54ad1f
mov eax, dword [ebp - 0x84]
mov dword [ebx + 0x24], eax
cmp eax, 0x6054b50
jne 0x5495a2
cmp eax, 0x6054b50
jne 0x549541
lea eax, [ebp - 0x80]
mov ecx, ebx
push eax
push 0x12
lea eax, [ebp - 0x48]
push eax
call fcn.00545a20
test eax, eax
jne 0x54ad30
cmp dword [ebp - 0x80], 0x12
jne 0x54ad49
cmp word [ebp - 0x48], ax
jne 0x5495a2
cmp word [ebp - 0x46], ax
jne 0x5495a2
cmp word [ebp - 0x44], ax
jne 0x5495a2
cmp word [ebp - 0x42], ax
jne 0x5495a2
cmp dword [ebp - 0x40], eax
jne 0x5495a2
cmp dword [ebp - 0x3c], eax
jne 0x5495a2
push dword [ebx + 0x4c]
mov ecx, dword [ebx + 0x44]
push dword [ebx + 0x48]
mov eax, dword [ebx + 0x40]
push dword [ebx + 0x68]
mov dword [ebx + 0x3c], ecx
mov ecx, ebx
mov dword [ebx + 0x38], eax
mov byte [ebx + 0x78], 1
call fcn.00545880
test eax, eax
jne 0x54ac40
lea eax, [ebp - 0x80]
mov byte [ebx + 0x22], 1
push eax
push 4
lea eax, [ebp - 0x84]
mov ecx, ebx
push eax
call fcn.00545a20
test eax, eax
jne 0x54ad5a
cmp dword [ebp - 0x80], 4
jne 0x54ad73
mov eax, dword [ebp - 0x84]
mov edx, dword [ebp - 0x8c]
mov dword [ebx + 0x24], eax
xor eax, eax
mov dword [ebp - 0x8c], edx
jmp 0x54991a
lea ecx, [ebp - 0x1d8]
call fcn.005455f0
mov byte [ebp - 0x164], 0
lea eax, [ebp - 0x1d8]
mov dword [ebp - 4], 0
push eax
mov ecx, ebx
mov byte [ebp - 4], 2
call fcn.00546cd0
test al, al
jne 0x5495ac
push dword [ebp - 0x178]
call fcn.00588148
add esp, 4
lea ecx, [ebp - 0x188]
call fcn.00504360
lea ecx, [ebp - 0x1a8]
call fcn.00504360
push dword [ebp - 0x1b4]
call fcn.00588148
add esp, 4
mov eax, 1
jmp 0x54ac40
lea eax, [ebp - 0xa4]
mov dword [ebp - 4], 1
push eax
lea eax, [ebp - 0xd0]
mov byte [ebx + 0x78], 1
push eax
lea eax, [ebp - 0x98]
mov ecx, ebx
push eax
push edi
call fcn.00548190
mov esi, eax
mov dword [ebp - 0x88], esi
test esi, esi
jne 0x549613
lea eax, [ebp - 0x80]
mov byte [ebx + 0x22], 1
push eax
push 4
lea eax, [ebp - 0x84]
mov ecx, ebx
push eax
call fcn.00545a20
test eax, eax
jne 0x54ad84
cmp dword [ebp - 0x80], 4
jne 0x54ad9d
mov eax, dword [ebp - 0x84]
mov dword [ebx + 0x24], eax
mov dword [ebp - 4], 0
cmp esi, 1
je 0x54982e
test esi, esi
je 0x549660
push dword [ebp - 0x178]
call fcn.00588148
add esp, 4
lea ecx, [ebp - 0x188]
call fcn.00504360
lea ecx, [ebp - 0x1a8]
call fcn.00504360
push dword [ebp - 0x1b4]
call fcn.00588148
add esp, 4
mov eax, esi
jmp 0x54ac40
mov edx, dword [edi + 4]
test edx, edx
jne 0x549676
mov dword [ebp - 0x88], 1
jmp 0x54982e
mov ecx, dword [ebx + 0x4c]
mov eax, dword [ebx + 0x48]
mov esi, dword [ebx + 0x38]
cmp ecx, dword [ebx + 0x3c]
jg 0x54969d
jl 0x5497be
cmp eax, esi
jae 0x54969d
mov dword [ebp - 0x88], 1
jmp 0x54982e
sub eax, esi
mov dword [ebp - 0x84], 0xffffffff
mov dword [ebp - 0x80], eax
sbb ecx, dword [ebx + 0x3c]
or esi, 0xffffffff
mov dword [ebp - 0x190], eax
mov al, byte [ebx + 0x7b]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0x18c], ecx
mov dword [ebp - 0xb4], 0xffffffff
mov dword [ebp - 0xac], esi
mov dword [ebp - 0x9c], 0xffffffff
mov byte [ebp - 0x79], al
test al, al
jne 0x5496fa
lea edx, [ebp - 0x1d8]
mov ecx, edi
call fcn.005482e0
jmp 0x5497a5
xor ecx, ecx
test edx, edx
je 0x5497be
mov esi, dword [edi]
nop word [eax + eax]
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
cmp edx, dword [ebp - 0x1b8]
jne 0x549742
mov ebx, dword [ebp - 0x80]
cmp dword [eax + 0x48], ebx
mov ebx, dword [ebp - 0xc0]
jne 0x549742
mov edi, dword [ebp - 0xe8]
cmp dword [eax + 0x4c], edi
mov edi, dword [ebp - 0x90]
jne 0x549742
mov dword [ebp - 0x84], ecx
test ecx, ecx
je 0x549774
cmp edx, dword [ebp - 0xb4]
jb 0x549774
jne 0x54978c
mov edi, dword [ebp - 0x9c]
cmp dword [eax + 0x4c], edi
mov edi, dword [ebp - 0x90]
ja 0x54978c
jb 0x549774
mov ebx, dword [ebp - 0xac]
cmp dword [eax + 0x48], ebx
mov ebx, dword [ebp - 0xc0]
jae 0x54978c
mov dword [ebp - 0xb4], edx
mov edx, dword [eax + 0x48]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x9c], eax
inc ecx
add esi, 4
cmp ecx, dword [edi + 4]
jb 0x549710
mov esi, dword [ebp - 0xac]
mov eax, dword [ebp - 0x84]
cmp eax, 0xffffffff
je 0x5497be
mov edx, dword [edi]
lea ecx, [ebp - 0x1d8]
mov edx, dword [edx + eax*4]
call fcn.00546f40
test al, al
jne 0x5497ca
mov dword [ebp - 0x88], 1
jmp 0x54982e
cmp byte [ebp - 0x79], 0
mov byte [ebx + 0x6c], 1
je 0x5497e2
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0x60], esi
mov dword [ebx + 0x64], eax
jmp 0x54982e
mov eax, dword [edi]
mov eax, dword [eax]
mov ecx, dword [eax + 0x48]
mov eax, dword [eax + 0x4c]
mov dword [ebx + 0x60], ecx
mov dword [ebx + 0x64], eax
jmp 0x54982e
push dword [ebp - 0x178]
call fcn.00588148
add esp, 4
lea ecx, [ebp - 0x188]
call fcn.00504360
lea ecx, [ebp - 0x1a8]
call fcn.00504360
push dword [ebp - 0x1b4]
call fcn.00588148
mov edx, dword [ebp - 0x8c]
add esp, 4
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0xdc], edx
jmp 0x54991a
lea eax, [ebp - 0xa4]
mov byte [ebx + 0x78], 1
push eax
lea eax, [ebp - 0xd0]
mov ecx, ebx
push eax
lea eax, [ebp - 0x98]
push eax
push edi
call fcn.00548190
mov esi, eax
test esi, esi
jne 0x5498f7
lea eax, [ebp - 0x80]
mov byte [ebx + 0x22], 1
push eax
push 4
lea eax, [ebp - 0x84]
mov ecx, ebx
push eax
call fcn.00545a20
test eax, eax
jne 0x54adae
cmp dword [ebp - 0x80], 4
jne 0x54adc7
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x8c], edx
mov edx, dword [ebp - 0x98]
mov dword [ebx + 0x24], eax
mov dword [ebp - 0xdc], edx
jmp 0x549918
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x8c], eax
cmp esi, 1
jne 0x549659
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xdc], eax
mov eax, esi
xor esi, esi
xor edi, edi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], esi
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 4], 5
mov edx, dword [ecx + 4]
mov dword [ebp - 0xbc], edx
test eax, eax
je 0x549f5b
call fcn.00542990
cmp byte [ebx + 0x112], 0
mov eax, dword [ebp - 0x94]
mov byte [ebp - 0x7a], 1
mov word [ebx + 0x7c], di
mov byte [ebx + 0x7e], 0
mov byte [eax], 1
mov dword [ebx + 0x38], edi
mov dword [ebx + 0x3c], edi
jne 0x5499fa
mov eax, dword [ebp - 0x8c]
cmp byte [eax], 0
jne 0x5499bd
cmp byte [ebx + 0x87], 0
je 0x549a7a
cmp dword [ebx + 0xac], edi
jne 0x549a7a
push dword [ebx + 0x4c]
mov ecx, ebx
push dword [ebx + 0x48]
push edi
call fcn.00545880
mov dword [ebp - 0x80], eax
test eax, eax
je 0x5499fa
push 0
call fcn.00588148
mov eax, dword [ebp - 0x80]
add esp, 4
jmp 0x54ac40
mov eax, dword [ebx + 0x40]
or eax, dword [ebx + 0x44]
je 0x5499d1
mov eax, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x4c]
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], ecx
push dword [ebx + 0x4c]
mov ecx, ebx
push dword [ebx + 0x48]
push dword [ebx + 0x68]
call fcn.00545880
mov dword [ebp - 0x80], eax
test eax, eax
je 0x5499fa
push 0
call fcn.00588148
mov eax, dword [ebp - 0x80]
add esp, 4
jmp 0x54ac40
lea eax, [ebp - 0x80]
mov dword [ebx + 0x18], 0
push eax
push 4
lea eax, [ebp - 0x84]
mov dword [ebx + 0x1c], 0
push eax
mov ecx, ebx
mov byte [ebx + 0x22], 1
call fcn.00545a20
test eax, eax
jne 0x54add8
cmp dword [ebp - 0x80], 4
jne 0x54adf1
mov eax, dword [ebp - 0x84]
mov ecx, ebx
push dword [ebp - 0x90]
mov dword [ebx + 0x24], eax
mov byte [ebx + 0x80], 1
call fcn.00548390
mov dword [ebp - 0x80], eax
test eax, eax
jne 0x5499ab
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0xcc], eax
cmp eax, 0x2014b50
je 0x549bdc
mov ecx, dword [ebp - 0x90]
cmp dword [ecx + 4], 0
jne 0x549a8e
push 0
call fcn.00588148
add esp, 4
mov eax, 1
jmp 0x54ac40
add eax, 0xffffffe8
mov byte [ebp - 0x79], 1
cmp eax, 0xfffe8
ja 0x549bc2
lea eax, [ebp - 0x80]
mov ecx, ebx
push eax
push 4
lea eax, [ebp - 0x84]
push eax
call fcn.00545a20
test eax, eax
jne 0x54ae02
cmp dword [ebp - 0x80], 4
jne 0x54ae1b
cmp dword [ebp - 0x84], eax
jne 0x549bc2
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], ecx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x549b02
push eax
mov dword [ebp - 0x28], ecx
call fcn.0058813f
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
lea edx, [ebp - 0x80]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.00545a20
test eax, eax
jne 0x54ae2c
mov eax, dword [ebp - 0xcc]
cmp eax, dword [ebp - 0x80]
jne 0x54ae45
lea eax, [ebp - 0x80]
mov byte [ebx + 0x22], 1
push eax
push 4
lea eax, [ebp - 0x84]
mov ecx, ebx
push eax
call fcn.00545a20
test eax, eax
jne 0x54ae56
cmp dword [ebp - 0x80], 4
jne 0x54ae6f
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0x2c]
mov dword [ebx + 0x24], eax
cmp eax, 0x2014b50
jne 0x549bad
cmp dword [edx + ecx - 0x18], ecx
jne 0x549bad
cmp dword [edx + ecx - 0x14], 0
jne 0x549bad
add edx, 0xfffffff0
mov dword [ebp - 0x84], 0xc
add ecx, edx
mov edx, str.APK_Sig_Block_42
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x549bad
add ecx, 4
add edx, 4
sub dword [ebp - 0x84], 4
jae 0x549b90
mov byte [ebp - 0x79], 0
mov byte [ebx + 0x7a], 1
mov byte [ebp - 4], 5
push dword [ebp - 0x2c]
call fcn.00588148
add esp, 4
cmp byte [ebp - 0x79], 0
je 0x549bdc
push 0
mov byte [ebx + 0x82], 1
mov byte [ebx + 0x7c], 1
call fcn.00588148
add esp, 4
jmp 0x54ac3e
mov ecx, dword [ebx + 8]
xor eax, eax
sub ecx, dword [ebx + 0xc]
mov byte [ebx + 0x20], 1
sbb eax, eax
add ecx, dword [ebx + 0x10]
adc eax, dword [ebx + 0x14]
add ecx, 0xfffffffc
mov dword [ebp - 0xf4], ecx
lea ecx, [ebp - 0x1d8]
adc eax, 0xffffffff
mov dword [ebp - 0xf0], eax
mov eax, dword [ebx + 0x9c]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x94], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0xa0], eax
call fcn.005455f0
mov byte [ebp - 0x164], 0
lea eax, [ebp - 0x1d8]
mov byte [ebp - 4], 7
push eax
mov ecx, ebx
call fcn.00547800
mov dword [ebp - 0x84], eax
test eax, eax
jne 0x549e40
lea ecx, [ebp - 0x20]
call fcn.00439780
push 0x78
call fcn.00587dd8
mov esi, eax
add esp, 4
mov dword [ebp - 0x28], esi
lea eax, [ebp - 0x1d8]
mov byte [ebp - 4], 8
push eax
mov ecx, esi
call fcn.00542720
mov al, byte [ebp - 0x164]
mov ecx, dword [ebp - 0x168]
mov byte [ebp - 4], 7
mov dword [esi + 0x70], ecx
mov ecx, dword [ebp - 0x20]
mov byte [esi + 0x74], al
mov eax, dword [ebp - 0x1c]
mov dword [ecx + eax*4], esi
lea edi, [eax + 1]
mov edx, dword [ebx + 0x34]
mov dword [ebp - 0x1c], edi
test edx, edx
je 0x549d91
test edi, 0xfff
jne 0x549d91
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebx + 0x1c]
mov dword [ebp - 0xb4], ecx
lea ecx, [ebp - 0xb8]
push ecx
mov eax, dword [eax + 4]
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xb8], eax
mov eax, dword [edx]
push ecx
push edx
call dword [eax + 0x10]
mov dword [ebp - 0x80], eax
test eax, eax
je 0x549d91
push dword [ebp - 0x178]
call fcn.00588148
add esp, 4
lea ecx, [ebp - 0x188]
call fcn.00504360
lea ecx, [ebp - 0x1a8]
call fcn.00504360
push dword [ebp - 0x1b4]
call fcn.00588148
add esp, 4
test edi, edi
je 0x549d7e
mov eax, dword [ebp - 0x20]
nop word [eax + eax]
mov esi, dword [eax + edi*4 - 4]
dec edi
test esi, esi
je 0x549d7a
push dword [esi + 0x60]
call fcn.00588148
add esp, 4
lea ecx, [esi + 0x50]
call fcn.00504360
lea ecx, [esi + 0x30]
call fcn.00504360
push dword [esi + 0x24]
call fcn.00588148
push 0x78
push esi
call fcn.00587dca
mov eax, dword [ebp - 0x20]
add esp, 0xc
test edi, edi
jne 0x549d40
push dword [ebp - 0x20]
call fcn.00588148
mov eax, dword [ebp - 0x80]
add esp, 4
jmp 0x54ac40
lea eax, [ebp - 0xe8]
mov byte [ebx + 0x22], 1
push eax
push 4
lea eax, [ebp - 0xc8]
mov ecx, ebx
push eax
call fcn.00545a20
test eax, eax
jne 0x54ae91
cmp dword [ebp - 0xe8], 4
jne 0x54ae80
mov eax, dword [ebp - 0xc8]
mov byte [ebp - 4], 5
mov dword [ebx + 0x24], eax
push dword [ebp - 0x178]
cmp eax, 0x2014b50
jne 0x549eca
call fcn.00588148
add esp, 4
lea ecx, [ebp - 0x188]
call fcn.00504360
lea ecx, [ebp - 0x1a8]
call fcn.00504360
push dword [ebp - 0x1b4]
call fcn.00588148
add esp, 4
lea ecx, [ebp - 0x1d8]
call fcn.005455f0
mov byte [ebp - 0x164], 0
lea eax, [ebp - 0x1d8]
mov byte [ebp - 4], 7
push eax
mov ecx, ebx
call fcn.00547800
mov dword [ebp - 0x84], eax
test eax, eax
je 0x549c52
mov esi, dword [ebp - 0x20]
push dword [ebp - 0x178]
call fcn.00588148
add esp, 4
lea ecx, [ebp - 0x188]
call fcn.00504360
lea ecx, [ebp - 0x1a8]
call fcn.00504360
push dword [ebp - 0x1b4]
call fcn.00588148
add esp, 4
test edi, edi
je 0x549eb4
mov esi, dword [esi + edi*4 - 4]
dec edi
test esi, esi
je 0x549ead
push dword [esi + 0x60]
call fcn.00588148
add esp, 4
lea ecx, [esi + 0x50]
call fcn.00504360
lea ecx, [esi + 0x30]
call fcn.00504360
push dword [esi + 0x24]
call fcn.00588148
push 0x78
push esi
call fcn.00587dca
add esp, 0xc
mov esi, dword [ebp - 0x20]
test edi, edi
jne 0x549e76
push dword [ebp - 0x20]
call fcn.00588148
mov eax, dword [ebp - 0x84]
add esp, 4
jmp 0x54ac40
call fcn.00588148
add esp, 4
lea ecx, [ebp - 0x188]
call fcn.00504360
lea ecx, [ebp - 0x1a8]
call fcn.00504360
push dword [ebp - 0x1b4]
call fcn.00588148
mov eax, dword [ebx + 0x18]
add esp, 4
sub eax, dword [ebp - 0x94]
mov edx, edi
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebx + 0x1c]
sbb eax, dword [ebp - 0xa0]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebx + 0x38]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xf0]
sbb eax, dword [ebx + 0x3c]
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xb4], eax
test edx, edx
je 0x549fa3
mov byte [ebx + 0x6c], 1
mov eax, dword [esi]
mov dword [ebp - 0xbc], edx
mov ecx, dword [eax + 0x48]
mov eax, dword [eax + 0x4c]
mov dword [ebx + 0x60], ecx
mov dword [ebx + 0x64], eax
jmp 0x549fa3
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xf4], eax
push 0x30
lea eax, [ebp - 0x78]
push 0
push eax
call fcn.0058ad30
mov eax, dword [ebx + 8]
xor ecx, ecx
add esp, 0xc
mov byte [ebp - 0x79], 0
sub eax, dword [ebx + 0xc]
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c], xmm0
sbb ecx, ecx
mov dword [ebp - 0x80], 0xffffffff
add eax, dword [ebx + 0x10]
adc ecx, dword [ebx + 0x14]
add eax, 0xfffffffc
mov dword [ebp - 0xc8], eax
mov eax, dword [ebx + 0x24]
adc ecx, 0xffffffff
mov dword [ebp - 0xe8], ecx
cmp eax, 0x6064b50
jne 0x54a2ae
mov eax, dword [ebx + 0x9c]
mov ecx, ebx
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x94]
push eax
push 8
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x79], 1
push eax
mov byte [ebx + 0x79], 1
call fcn.00545a20
test eax, eax
jne 0x54aeaa
cmp dword [ebp - 0x94], 8
jne 0x54aec3
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
add ecx, 0xffffffd4
adc eax, 0xffffffff
cmp eax, 0x3fffffff
ja 0x54a251
jb 0x54a052
cmp ecx, 0xffffffd3
ja 0x54a251
lea eax, [ebp - 0x94]
mov ecx, ebx
push eax
push 0x2c
lea eax, [ebp - 0x74]
push eax
call fcn.00545a20
test eax, eax
jne 0x54aed4
cmp dword [ebp - 0x94], 0x2c
jne 0x54aeed
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x9c], ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0xac], ecx
push dword [eax + 4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
add eax, 0xffffffd4
adc ecx, 0xffffffff
push ecx
push eax
mov ecx, ebx
call fcn.005466a0
mov dword [ebp - 0x94], eax
test eax, eax
je 0x54a144
test edi, edi
je 0x54a12e
nop
mov esi, dword [esi + edi*4 - 4]
dec edi
test esi, esi
je 0x54a127
push dword [esi + 0x60]
call fcn.00588148
add esp, 4
lea ecx, [esi + 0x50]
call fcn.00504360
lea ecx, [esi + 0x30]
call fcn.00504360
push dword [esi + 0x24]
call fcn.00588148
push 0x78
push esi
call fcn.00587dca
add esp, 0xc
mov esi, dword [ebp - 0x20]
test edi, edi
jne 0x54a0f0
push dword [ebp - 0x20]
call fcn.00588148
mov eax, dword [ebp - 0x94]
add esp, 4
jmp 0x54ac40
lea eax, [ebp - 0x94]
mov byte [ebx + 0x22], 1
push eax
push 4
lea eax, [ebp - 0xa0]
mov ecx, ebx
push eax
call fcn.00545a20
test eax, eax
jne 0x54aefe
cmp dword [ebp - 0x94], 4
jne 0x54af17
mov eax, dword [ebp - 0xa0]
mov dword [ebx + 0x24], eax
cmp eax, 0x7064b50
je 0x54a1de
mov byte [ebx + 0x7c], 1
test edi, edi
je 0x54a1ce
nop dword [eax]
mov esi, dword [esi + edi*4 - 4]
dec edi
test esi, esi
je 0x54a1c7
push dword [esi + 0x60]
call fcn.00588148
add esp, 4
lea ecx, [esi + 0x50]
call fcn.00504360
lea ecx, [esi + 0x30]
call fcn.00504360
push dword [esi + 0x24]
call fcn.00588148
push 0x78
push esi
call fcn.00587dca
add esp, 0xc
mov esi, dword [ebp - 0x20]
test edi, edi
jne 0x54a190
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
jmp 0x54ac3e
lea eax, [ebp - 0x94]
mov ecx, ebx
push eax
push 0x10
lea eax, [ebp - 0x34]
push eax
call fcn.00545a20
test eax, eax
jne 0x54af28
cmp dword [ebp - 0x94], 0x10
jne 0x54af41
mov eax, dword [ebp - 0x30]
mov ecx, ebx
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x8c]
push eax
push 4
lea eax, [ebp - 0x28]
mov byte [ebx + 0x22], 1
push eax
call fcn.00545a20
test eax, eax
jne 0x54af52
cmp dword [ebp - 0x8c], 4
jne 0x54af6b
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0x24], eax
jmp 0x54a308
mov byte [ebx + 0x7c], 1
test edi, edi
je 0x54a29e
nop dword [eax]
mov esi, dword [esi + edi*4 - 4]
dec edi
test esi, esi
je 0x54a297
push dword [esi + 0x60]
call fcn.00588148
add esp, 4
lea ecx, [esi + 0x50]
call fcn.00504360
lea ecx, [esi + 0x30]
call fcn.00504360
push dword [esi + 0x24]
call fcn.00588148
push 0x78
push esi
call fcn.00587dca
add esp, 0xc
mov esi, dword [ebp - 0x20]
test edi, edi
jne 0x54a260
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
jmp 0x54ac3e
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x98], ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0xac], ecx
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0xc4], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x88], ecx
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x9c], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x94], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xa0], ecx
cmp eax, 0x6054b50
je 0x54a365
mov byte [ebx + 0x7c], 1
test edi, edi
je 0x54a355
mov esi, dword [esi + edi*4 - 4]
dec edi
test esi, esi
je 0x54a34e
push dword [esi + 0x60]
call fcn.00588148
add esp, 4
lea ecx, [esi + 0x50]
call fcn.00504360
lea ecx, [esi + 0x30]
call fcn.00504360
push dword [esi + 0x24]
call fcn.00588148
push 0x78
push esi
call fcn.00587dca
add esp, 0xc
mov esi, dword [ebp - 0x20]
test edi, edi
jne 0x54a317
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
jmp 0x54ac3e
lea eax, [ebp - 0x28]
mov byte [ebx + 0x22], 0
push eax
push 0x12
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
call fcn.00545a20
test eax, eax
jne 0x54af7c
cmp dword [ebp - 0x28], 0x12
jne 0x54af95
mov cl, byte [ebp - 0x79]
mov edx, 0xffff
mov ax, word [ebp - 0x48]
test cl, cl
je 0x54a3a1
cmp ax, dx
je 0x54a3b1
movzx ecx, ax
mov dword [ebp - 0x9c], ecx
mov cl, byte [ebp - 0x79]
test cl, cl
je 0x54a3bc
mov ax, word [ebp - 0x46]
cmp ax, dx
je 0x54a3cd
jmp 0x54a3c0
mov ax, word [ebp - 0x46]
movzx eax, ax
mov dword [ebp - 0x88], eax
test cl, cl
je 0x54a3d8
mov ax, word [ebp - 0x42]
cmp ax, dx
je 0x54a3f0
jmp 0x54a3dc
mov ax, word [ebp - 0x42]
movzx eax, ax
cdq
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xe0], edx
test cl, cl
je 0x54a408
mov ecx, dword [ebp - 0x40]
cmp ecx, 0xffffffff
jne 0x54a40b
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x3c]
cmp eax, 0xffffffff
je 0x54a431
jmp 0x54a421
mov ecx, dword [ebp - 0x40]
xor edx, edx
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xac], edx
cmp byte [ebp - 0x79], dl
jne 0x54a3fe
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xd4], 0
mov al, 1
movzx ecx, al
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0xf8]
mov eax, 0
cmovne ecx, eax
mov dword [ebp - 0x8c], ecx
cmp byte [ebp - 0x79], al
je 0x54a48a
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0xbc]
jne 0x54a482
cmp dword [ebp - 0xe0], 0
jne 0x54a482
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0xf8]
jne 0x54a482
cmp edx, dword [ebp - 0x84]
je 0x54a48a
xor cl, cl
mov dword [ebp - 0x8c], ecx
cmp byte [ebx + 0x87], 0
mov dl, byte [ebp - 0x7a]
je 0x54a4b1
mov eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0x88]
je 0x54a656
mov byte [ebx + 0x7c], 1
jmp 0x54a656
test dl, dl
je 0x54a656
test cl, cl
je 0x54a65a
cmp byte [ebp - 0x79], 0
mov eax, dword [ebx + 0x3c]
mov edx, dword [ebx + 0x38]
mov dword [ebp - 0x88], eax
je 0x54a551
mov esi, dword [ebp - 0x80]
cmp esi, dword [ebx + 0xa8]
mov esi, dword [ebp - 0x20]
jne 0x54a604
mov eax, dword [ebp - 0xc8]
sub eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xe8]
sbb ecx, dword [ebp - 0x94]
cmp ecx, dword [ebp - 0xe8]
jg 0x54a5f8
jl 0x54a517
cmp eax, dword [ebp - 0xc8]
ja 0x54a5f8
cmp ecx, dword [ebx + 0x4c]
jl 0x54a530
jg 0x54a523
cmp eax, dword [ebx + 0x48]
jbe 0x54a530
xor cl, cl
mov dword [ebp - 0x8c], ecx
jmp 0x54a5fe
mov esi, dword [ebp - 0xf4]
sub esi, eax
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xcc], esi
sbb eax, ecx
mov esi, dword [ebp - 0x20]
jmp 0x54a5ef
cmp dword [ebp - 0xbc], 0
je 0x54a604
mov esi, dword [ebp - 0xdc]
cmp esi, dword [ebx + 0xa8]
mov esi, dword [ebp - 0x20]
jne 0x54a604
mov eax, dword [ebp - 0xf4]
sub eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0xf0]
sbb ecx, dword [ebp - 0xd4]
cmp ecx, dword [ebp - 0xf0]
jg 0x54a523
jl 0x54a59d
cmp eax, dword [ebp - 0xf4]
ja 0x54a523
cmp ecx, dword [ebx + 0x4c]
jl 0x54a5da
jg 0x54a5a9
cmp eax, dword [ebx + 0x48]
jbe 0x54a5da
mov esi, dword [ebp - 0x20]
sub eax, edx
sbb ecx, dword [ebp - 0x88]
test eax, eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x28], ecx
jne 0x54a5d0
mov ecx, dword [ebp - 0x8c]
mov byte [ebx + 0x83], 1
jmp 0x54a604
xor cl, cl
mov dword [ebp - 0x8c], ecx
jmp 0x54a604
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xb4], eax
mov dword [ebx + 0x3c], ecx
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x88]
sub edx, dword [ebx + 0x38]
mov dword [ebp - 0x28], edx
sbb eax, dword [ebx + 0x3c]
mov dword [ebp - 0x88], eax
mov eax, edx
or eax, dword [ebp - 0x88]
je 0x54a653
mov ecx, dword [ebp - 0x90]
xor edx, edx
cmp dword [ecx + 4], edx
jbe 0x54a64d
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x88]
mov eax, dword [ecx]
mov eax, dword [eax + edx*4]
add dword [eax + 0x48], esi
adc dword [eax + 0x4c], ebx
inc edx
cmp edx, dword [ecx + 4]
jb 0x54a633
mov ebx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x8c]
mov dl, byte [ebp - 0x7a]
test cl, cl
jne 0x54a65e
mov byte [ebx + 0x7c], 1
cmp byte [ebx + 0x87], 0
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0x8c], eax
jne 0x54a6e4
test eax, eax
jne 0x54a69e
cmp byte [ebx + 0xa6], al
je 0x54a69e
cmp byte [ebx + 0xa2], al
je 0x54a69e
mov dword [ebx + 0xc8], eax
xor ecx, ecx
mov eax, dword [ebx + 0xc4]
mov word [eax], cx
mov byte [ebx + 0xa6], cl
test dl, dl
je 0x54a6d7
cmp dword [ebx + 0x8c], 0
je 0x54a6d7
mov eax, dword [ebp - 0x90]
xor edx, edx
cmp dword [eax + 4], edx
jbe 0x54a6d7
mov esi, eax
nop word [eax + eax]
mov eax, dword [esi]
mov ecx, dword [ebx + 0x8c]
mov eax, dword [eax + edx*4]
inc edx
mov dword [eax + 0x20], ecx
cmp edx, dword [esi + 4]
jb 0x54a6c0
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x9c]
mov byte [ebx + 0x88], 1
cmp byte [ebp - 0x79], 0
je 0x54a7c5
test eax, eax
jne 0x54a714
mov ecx, dword [ebp - 0xa0]
add ecx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x3c]
adc eax, dword [ebp - 0x94]
cmp dword [ebp - 0xc8], ecx
jne 0x54a76f
cmp dword [ebp - 0xe8], eax
jne 0x54a76f
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0xbc]
jne 0x54a76f
cmp dword [ebp - 0xe0], 0
jne 0x54a76f
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0xf8]
jne 0x54a76f
mov ecx, dword [ebp - 0xac]
cmp ecx, dword [ebp - 0x84]
jne 0x54a76f
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0xcc]
jne 0x54a763
mov eax, dword [ebp - 0xd4]
cmp eax, dword [ebp - 0xb4]
je 0x54a7c5
mov eax, dword [ebp - 0x90]
cmp dword [eax + 4], 0
je 0x54a7cb
mov byte [ebx + 0x7c], 1
test edi, edi
je 0x54a7b5
mov esi, dword [esi + edi*4 - 4]
dec edi
test esi, esi
je 0x54a7ae
push dword [esi + 0x60]
call fcn.00588148
add esp, 4
lea ecx, [esi + 0x50]
call fcn.00504360
lea ecx, [esi + 0x30]
call fcn.00504360
push dword [esi + 0x24]
call fcn.00588148
push 0x78
push esi
call fcn.00587dca
add esp, 0xc
mov esi, dword [ebp - 0x20]
test edi, edi
jne 0x54a777
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
jmp 0x54ac3e
mov eax, dword [ebp - 0x90]
cmp byte [ebp - 0x8c], 0
je 0x54ab59
test edi, edi
je 0x54ab59
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
mov byte [ebp - 4], 9
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0xb4], edx
mov byte [ebx + 0x81], 1
mov dword [ebp - 0xd4], ecx
test edi, edi
je 0x54aabf
mov edx, dword [ebx + 0x34]
test edx, edx
je 0x54a867
test ecx, 0x3fff
jne 0x54a867
mov eax, dword [eax + 4]
add eax, dword [ebp - 0xa4]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], 0
mov eax, dword [edx]
mov ecx, dword [eax + 0x10]
lea eax, [ebx + 0x18]
push eax
lea eax, [ebp - 0xec]
push eax
push edx
call ecx
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x54aa60
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x90]
mov esi, dword [esi + eax*4]
cmp edx, 0xffffffff
je 0x54a8e3
cmp edx, dword [ecx + 4]
jae 0x54a8e3
mov eax, dword [ecx]
mov edx, dword [eax + edx*4]
mov eax, dword [edx + 0x20]
cmp eax, dword [esi + 0x20]
jne 0x54a8da
mov eax, dword [edx + 0x48]
mov dword [ebp - 0x80], eax
mov eax, dword [edx + 0x4c]
mov edx, dword [esi + 0x48]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x4c]
cmp dword [ebp - 0x80], edx
jne 0x54a8af
cmp dword [ebp - 0x28], eax
je 0x54a8c9
cmp byte [ebx + 0x83], 0
je 0x54a8da
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x80], edx
jne 0x54a8da
cmp dword [ebp - 0x28], eax
jne 0x54a8da
mov eax, dword [ebp - 0xb4]
mov edx, eax
inc eax
mov dword [ebp - 0xb4], eax
jmp 0x54a94d
or edx, 0xffffffff
mov dword [ebp - 0xb4], edx
mov edx, esi
call fcn.005482e0
mov edx, eax
cmp edx, 0xffffffff
jne 0x54a947
lea ecx, [ebp - 0xa8]
call fcn.00439780
mov eax, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xa8]
lea ecx, [eax + 1]
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0xd4]
mov dword [edx + eax*4], ecx
mov byte [ebx + 0x7c], 1
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0xd4], eax
cmp eax, edi
jae 0x54aabf
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xd4]
jmp 0x54a821
mov ecx, dword [ebp - 0x90]
mov eax, dword [ecx]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0xac], edx
mov eax, dword [edx + 0x28]
cmp eax, dword [esi + 0x28]
jne 0x54a91a
mov ecx, dword [esi + 0x24]
mov eax, dword [edx + 0x24]
mov bl, byte [eax]
cmp bl, byte [ecx]
mov byte [ebp - 0x7a], bl
mov ebx, dword [ebp - 0xc0]
jne 0x54a99c
cmp byte [ebp - 0x7a], 0
je 0x54a998
mov bl, byte [eax + 1]
cmp bl, byte [ecx + 1]
mov byte [ebp - 0x7a], bl
mov ebx, dword [ebp - 0xc0]
jne 0x54a99c
add eax, 2
add ecx, 2
cmp byte [ebp - 0x7a], 0
jne 0x54a966
xor eax, eax
jmp 0x54a9a1
sbb eax, eax
or eax, 1
test eax, eax
jne 0x54a91a
mov eax, dword [edx + 0x10]
cmp eax, dword [esi + 0x10]
jne 0x54a91a
mov eax, dword [edx + 0x14]
cmp eax, dword [esi + 0x14]
jne 0x54a91a
mov eax, dword [edx + 8]
cmp eax, dword [esi + 8]
jne 0x54a91a
mov eax, dword [edx + 0xc]
cmp eax, dword [esi + 0xc]
jne 0x54a91a
mov ecx, dword [ebp - 0xac]
mov edx, esi
call fcn.00546e90
test al, al
je 0x54a91a
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [esi + 0x1c]
jne 0x54a91a
movzx eax, word [esi + 0x40]
mov word [ecx + 0x40], ax
lea eax, [esi + 0x50]
push eax
add ecx, 0x50
call fcn.005472a0
mov ecx, dword [ebp - 0xac]
movzx eax, word [esi + 0x42]
mov word [ecx + 0x42], ax
lea edx, [ecx + 0x60]
mov eax, dword [esi + 0x44]
mov dword [ecx + 0x44], eax
lea eax, [esi + 0x60]
cmp eax, edx
je 0x54aa44
push dword [eax + 4]
mov ecx, edx
push dword [eax]
call fcn.00439460
mov ecx, dword [ebp - 0xac]
mov al, byte [esi + 0x69]
mov byte [ecx + 0x69], al
mov eax, 0x800
test word [esi], ax
je 0x54a91e
or word [ecx], ax
jmp 0x54a91e
push dword [ebp - 0xa8]
call fcn.00588148
add esp, 4
nop
mov esi, dword [esi + edi*4 - 4]
dec edi
test esi, esi
je 0x54aaa7
push dword [esi + 0x60]
call fcn.00588148
add esp, 4
lea ecx, [esi + 0x50]
call fcn.00504360
lea ecx, [esi + 0x30]
call fcn.00504360
push dword [esi + 0x24]
call fcn.00588148
push 0x78
push esi
call fcn.00587dca
add esp, 0xc
mov esi, dword [ebp - 0x20]
test edi, edi
jne 0x54aa70
push esi
call fcn.00588148
mov eax, dword [ebp - 0x28]
add esp, 4
jmp 0x54ac40
xor eax, eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0xa4], eax
jbe 0x54ab47
mov ebx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x90]
nop dword [eax]
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ecx + eax*4]
mov ecx, edx
mov esi, dword [ebx + eax*4]
call fcn.00439780
push 0x78
call fcn.00587dd8
mov edi, eax
add esp, 4
mov dword [ebp - 0x28], edi
push esi
mov ecx, edi
mov byte [ebp - 4], 0xa
call fcn.00542720
mov ecx, dword [esi + 0x70]
mov edx, dword [ebp - 0x90]
mov dword [edi + 0x70], ecx
mov cl, byte [esi + 0x74]
mov byte [ebp - 4], 9
mov byte [edi + 0x74], cl
mov ecx, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [edx + 4], eax
mov eax, dword [edx]
mov dword [eax + ecx*4], edi
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp eax, dword [ebp - 0xa4]
jb 0x54aae0
mov ebx, dword [ebp - 0xc0]
mov byte [ebp - 4], 5
push dword [ebp - 0xa8]
call fcn.00588148
add esp, 4
mov ax, word [ebp - 0x44]
mov dx, word [ebp - 0x42]
cmp dx, ax
jae 0x54ab6a
mov byte [ebx + 0x7c], 1
cmp word [ebp - 0x48], 0
jne 0x54ab7a
cmp dx, ax
je 0x54ab7a
mov byte [ebx + 0x7c], 1
cmp byte [ebp - 0x79], 0
mov ecx, dword [ebp - 0x154]
mov ecx, dword [ecx + 4]
je 0x54abb1
cmp dword [ebp - 0xc4], ecx
jne 0x54abab
cmp dword [ebp - 0xe0], 0
jne 0x54abab
movzx eax, dx
cmp eax, ecx
je 0x54abe7
mov eax, 0xffff
cmp dx, ax
je 0x54abe7
mov byte [ebx + 0x7c], 1
jmp 0x54abe7
movzx eax, dx
cmp eax, ecx
jbe 0x54abbc
mov byte [ebx + 0x7c], 1
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc4]
cmp ecx, eax
jne 0x54abd5
cmp dword [ebp - 0xe0], 0
je 0x54abe7
cmp cx, ax
je 0x54abe0
mov byte [ebx + 0x7c], 1
jmp 0x54abe7
mov byte [ebx + 0x84], 1
movzx eax, word [ebp - 0x38]
mov ecx, ebx
push eax
lea eax, [ebx + 0x70]
push eax
call fcn.00546580
mov eax, dword [ebp - 0xc4]
mov byte [ebx + 0x20], 0
cmp ax, word [ebp - 0xbc]
jne 0x54ac32
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0xf8]
jne 0x54ac32
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0xcc]
je 0x54ac36
mov eax, dword [ebp - 0x90]
cmp dword [eax + 4], 0
je 0x54ac36
mov byte [ebx + 0x7c], 1
lea ecx, [ebp - 0x20]
call fcn.005429f0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00587d99
mov esp, ebp
pop ebp
ret 4
push eax
lea ecx, [ebp - 0x14c]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0x100]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x158]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0x101]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x15c]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0x102]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x160]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0x103]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x110]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0x104]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x114]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0x105]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x118]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0x106]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x11c]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0xff]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x120]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0x107]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x124]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0x108]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x128]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0x109]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x12c]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0x10a]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x130]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0x10b]
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0x10c]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x134]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x138]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0xf9]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x13c]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0xfa]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x140]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0xfb]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x144]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0xfc]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x148]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0xfd]
push eax
call fcn.0058acc1
push eax
lea ecx, [ebp - 0x150]
call fcn.004c9230
push 0x5f7bf8
mov eax, ecx
push eax
call fcn.0058acc1
push 0x5f7c10
lea eax, [ebp - 0xfe]
push eax
call fcn.0058acc1
int3