Function at 0x15500d4
Capabilities:
Packed with generic packer

Disassembly:
pushal
call 0x15500e7
dec ebx
inc ebp
push edx
dec esi
inc ebp
dec esp
xor esi, dword [edx]
inc esp
dec esp
dec esp
add bh, bh
adc eax, sym.imp.KERNEL32.dll_LoadLibraryA
push eax
call main
inc ebx
jb 0x155015b
popal
je 0x155015e
push esp
push 0x64616572
add byte [eax - 1], dl
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x1652478], eax
pop eax
push eax
call 0x1550126
inc edi
je 0x155015a
jne 0x155018b
jb 0x1550180
outsb dx, byte [esi]
je 0x1550172
push 0x64616572
dec ecx
add byte fs:[eax - 1], dl
adc eax, sym.imp.KERNEL32.dll_GetProcAddress
mov dword [0x1648f98], eax
pop eax
push eax
call 0x1550142
push ebx
je 0x1550182
jbe 0x15501a4
outsb dx, byte [esi]
je 0x1550142
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x164a1e4], eax
pop eax
push eax
call 0x1550160
push edx
jae 0x15501be
je 0x15501a0
inc ebp
jbe 0x15501c2
outsb dx, byte [esi]
je 0x1550160
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x164d1a4], eax
pop eax
push eax
call 0x155017e
dec edi
jo 0x15501db
add byte [edi + 0x70], cl
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
inc ebp
jbe 0x15501df
outsb dx, byte [esi]
je 0x15501be
inc ecx
add byte [eax - 1], dl
adc eax, sym.imp.KERNEL32.dll_GetProcAddress
mov dword [0x164ae88], eax
pop eax
or byte [ebx], 0xa3
mov byte [esi - 0x17a7fe9c], ch
or al, 0
add byte [eax], al
call 0x155019c
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x15501fa
dec eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
add byte gs:[eax - 1], dl
adc eax, sym.imp.KERNEL32.dll_GetProcAddress
mov dword [0x1645d14], eax
call 0x15501ba
inc ecx
or byte [ebx], 0xa3
adc al, 0x5d
add eax, ebp
or eax, 0x41000000
inc esp
push esi
inc ecx
push eax
dec ecx
xor esi, dword [edx]
inc esp
dec esp
dec esp
add bh, bh
adc eax, sym.imp.KERNEL32.dll_LoadLibraryA
push eax
call 0x15501d6
dec ebx
add byte [eax - 0x18], dl
adc byte [eax], al
add byte [eax], al
push edx
inc ebx
jb 0x1550231
popal
je 0x1550234
dec ebx
jns 0x1550218
js 0x1550216
add byte [eax - 1], dl
adc eax, sym.imp.KERNEL32.dll_GetProcAddress
mov dword [0x164aeec], eax
dec ebx
add byte [ebx + 0x164aeec], ah
scasb al, byte es:[edi]
add dword fs:[eax + 0x50], ebx
pop eax
push eax
call 0x15501f7
push edx
inc esp
insb byte es:[edi], dx
je 0x1550257
dec ebx
jns 0x1550237
add byte [eax - 1], dl
adc eax, sym.imp.KERNEL32.dll_GetProcAddress
mov dword [0x164b760], eax
loopne 0x155017c
dec ebx
add byte [ebx + 0x164b760], ah
pop eax
call 0x1550215
push edx
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x1550276
dec ebx
jns 0x1550215
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x16466ac], eax
loopne 0x155019a
dec ebx
add byte [ebx + 0x16466ac], ah
call 0x1550231
push ebp
push ebx
inc ebp
push edx
xor esi, dword [edx]
inc esp
dec esp
dec esp
add bh, bh
adc eax, sym.imp.KERNEL32.dll_LoadLibraryA
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
or byte [ebx], 0x50
push eax
call 0x155024a
push eax
outsd dx, dword [esi]
jae 0x15502b5
dec ebp
jae 0x15502b8
popal
inc ecx
add byte [eax - 1], dl
adc eax, sym.imp.KERNEL32.dll_GetProcAddress
mov dword [0x164607c], eax
pop eax
call 0x1550266
ja 0x15502d1
jo 0x15502d2
imul ebp, dword [esi + 0x74], 0x50004166
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x15ce140], eax
popal
jmp dword [0x15ce004]
loopne 0x15502d4
add dword [eax], edx
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x10]
and eax, 0xffff
mov ecx, dword [ebp - 0x6c]
add ecx, eax
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x10]
xor edx, edx
mov ecx, 4
div ecx
mov eax, dword [ebp - 0x6c]
xor eax, dword [edx + 0x164a250]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
add eax, dword [0x16455f0]
xor edx, edx
mov ecx, 0x29
div ecx
test edx, edx
jne 0x1550378
ror byte [edi], cl
test dword [ecx - 0x75000000], edi
adc eax, 0x164d164
mov edx, dword [0x164d164]
mov dword [edx], 0
mov dword [ebp - 0x48], 0
add bl, ch
or dword [ebx - 0x3f7c47bb], ecx
add al, 0x89
inc ebp
mov eax, 0xa3440d8b
add ecx, eax
jmp 0xb9a23beb
jmp 0x15502dd
mov eax, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x48], eax
mov ecx, dword [0x164a344]
shr ecx, 2
cmp dword [ebp - 0x48], ecx
jge 0x1550309
mov edx, dword [0x164d164]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x48]
mov edx, dword [0x164e604]
add eax, dword [edx + ecx*4]
mov ecx, dword [0x164d164]
mov dword [ecx], eax
jmp 0x15502d4
mov edx, dword [0x164f7c0]
mov eax, dword [edx]
shl eax, 2
mov ecx, dword [0x1648b30]
sub ecx, eax
mov dword [0x1648b30], ecx
mov edx, dword [0x1648804]
mov eax, dword [0x164d164]
mov ecx, dword [edx]
sub ecx, dword [eax]
add ecx, 0xb1327a
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x48]
cdq
mov ecx, 0x70d
idiv ecx
mov eax, dword [ebp - 0x6c]
lea ecx, [eax + edx - 0x4cd]
mov dword [ebp - 0x6c], ecx
jmp 0x1550378
call dword [0x164bb1c]
mov dword [0x1645dcc], eax
mov edx, dword [0x164655c]
add edx, 0x1d4c0
cmp dword [0x1645dcc], edx
jb 0x1550497
mov eax, dword [ebp - 0x6c]
add eax, dword [0x16455f0]
xor edx, edx
mov ecx, 0x3b
div ecx
test edx, edx
jne 0x1550497
mov edx, dword [0x16455f0]
and edx, 0xff
mov eax, dword [0x16464e8]
mov dword [eax], edx
mov dword [ebp - 0x48], 0
jmp 0x15503da
mov ecx, dword [ebp - 0x48]
add ecx, 1
mov dword [ebp - 0x48], ecx
mov edx, dword [0x164f7f4]
shr edx, 2
cmp dword [ebp - 0x48], edx
jge 0x1550404
mov eax, dword [0x16464e8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x48]
mov eax, dword [0x164654c]
add ecx, dword [eax + edx*4]
mov edx, dword [0x16464e8]
mov dword [edx], ecx
jmp 0x15503d1
jmp 0x155042b
mov eax, dword [0x16455f0]
and eax, 0xf0
mov ecx, dword [0x1645d0c]
mov edx, dword [ecx]
add edx, eax
mov eax, dword [0x16464e8]
mov ecx, dword [eax]
sub ecx, edx
cmp ecx, 0x10
jbe 0x1550497
mov edx, dword [0x16464e8]
cmp dword [edx], 0x64
jbe 0x1550497
mov ecx, dword [0x164a344]
shr ecx, 2
mov eax, dword [ebp - 0x6c]
add eax, dword [0x16455f0]
xor edx, edx
div ecx
mov eax, dword [0x164e604]
mov ecx, dword [eax + edx*4]
add ecx, 1
mov esi, dword [0x164a344]
shr esi, 2
mov eax, dword [ebp - 0x6c]
add eax, dword [0x16455f0]
xor edx, edx
div esi
mov eax, dword [0x164e604]
mov dword [eax + edx*4], ecx
jmp 0x15504be
mov dword [ebp - 0x50], 0xf
mov dword [ebp - 0x48], 0
jmp 0x15504d7
mov ecx, dword [ebp - 0x48]
add ecx, 1
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x48], 8
jge 0x155069f
mov eax, dword [ebp - 0x6c]
and eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x48]
shl ecx, 2
shr eax, cl
xor edx, edx
mov ecx, 0xc
div ecx
mov dword [ebp - 0x64], edx
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xa0], edx
cmp dword [ebp - 0xa0], 0xb
ja case.default.0x1550517
mov eax, dword [ebp - 0xa0]
jmp dword [eax*4 + 0x1550fff]
mov ecx, dword [0x164d19c]
xor edx, edx
mov dx, word [ecx]
mov eax, dword [ebp - 0x38]
xor eax, edx
mov dword [ebp - 0x38], eax
jmp case.default.0x1550517
mov ecx, dword [ebp - 0x38]
xor ecx, dword [0x15d0560]
mov dword [ebp - 0x38], ecx
jmp case.default.0x1550517
mov edx, dword [0x1648b30]
mov eax, dword [ebp - 0x38]
xor eax, dword [edx]
mov dword [ebp - 0x38], eax
jmp case.default.0x1550517
mov ecx, dword [0x1648f80]
mov edx, dword [ebp - 0x38]
xor edx, dword [ecx]
mov dword [ebp - 0x38], edx
jmp case.default.0x1550517
mov eax, dword [0x1646698]
xor ecx, ecx
mov cx, word [eax]
mov edx, dword [ebp - 0x38]
sub edx, ecx
mov dword [ebp - 0x38], edx
jmp case.default.0x1550517
mov eax, dword [0x164c870]
xor ecx, ecx
mov cx, word [eax]
mov edx, dword [ebp - 0x38]
add edx, ecx
mov dword [ebp - 0x38], edx
jmp case.default.0x1550517
mov eax, dword [0x1645d08]
xor ecx, ecx
mov cx, word [eax]
mov edx, dword [ebp - 0x38]
xor edx, ecx
mov dword [ebp - 0x38], edx
jmp case.default.0x1550517
mov eax, dword [0x164b8c4]
mov ecx, dword [ebp - 0x38]
xor ecx, dword [eax]
mov dword [ebp - 0x38], ecx
jmp case.default.0x1550517
mov edx, dword [0x1649120]
mov eax, dword [ebp - 0x38]
sub eax, dword [edx]
mov dword [ebp - 0x38], eax
jmp case.default.0x1550517
mov ecx, dword [0x164e628]
mov edx, dword [ebp - 0x38]
add edx, dword [ecx]
mov dword [ebp - 0x38], edx
jmp case.default.0x1550517
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov ecx, 0x25
div ecx
mov eax, dword [0x164a140]
mov ecx, dword [ebp - 0x38]
xor ecx, dword [eax + edx]
mov dword [ebp - 0x38], ecx
jmp case.default.0x1550517
mov edx, dword [0x1649060]
mov eax, dword [0x16455b4]
mov esi, dword [ebp - 0x38]
mov ecx, dword [eax + edx*4]
shr esi, cl
mov dword [ebp - 0x38], esi
mov ecx, dword [0x1649064]
mov edx, dword [0x16455b4]
mov eax, dword [ebp - 0x38]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x1649068]
mov edx, dword [0x16455b4]
mov eax, dword [ebp - 0x38]
mov ecx, dword [edx + ecx*4]
shr eax, cl
mov dword [ebp - 0x38], eax
mov ecx, dword [0x164906c]
mov edx, dword [0x16455b4]
mov eax, dword [ebp - 0x38]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x50]
shl ecx, 4
mov dword [ebp - 0x50], ecx
jmp 0x15504ce
mov edx, dword [0x15d05ec]
sub edx, 4
cmp dword [ebp - 0x3c], edx
jb 0x15506ba
mov eax, dword [0x15d05f0]
add eax, 4
cmp dword [ebp - 0x3c], eax
jbe 0x155072d
xor ecx, ecx
mov cx, word [0x15ef8cc]
push ecx
call fcn.01548730
imul eax, eax, 0xe
add eax, 0x15d1f38
mov dword [ebp - 0xa4], eax
mov edx, dword [ebp - 0x3c]
shl edx, 4
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax]
xor ecx, edx
mov edx, dword [ebp - 0xa4]
mov dword [edx], ecx
cmp dword [0x15f1b54], 0
je 0x155072d
mov eax, dword [0x15d05f0]
add eax, 4
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [0x15d05ec]
sub edx, 4
push edx
push 0x1624a90
push 0x1647800
call fcn.015c24f5
add esp, 0x14
push 0x1647800
push 0x21
call fcn.01549920
jmp 0x1550749
mov eax, dword [ebp - 0x44]
and eax, 0xffff
test eax, eax
jne 0x15509b5
mov ecx, dword [ebp - 0x8c]
and ecx, 0xffff
imul ecx, ecx, 0xe
xor edx, edx
mov dx, word [ecx + 0x15d1f3c]
and edx, 0x2000
test edx, edx
jne 0x15509b5
mov eax, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x38]
mov dword [eax], ebx
cmp dword [0x1645d10], 0
je 0x15507d4
cmp dword [0x164e618], 0
je 0x15507d4
cmp dword [0x164f7c8], 0
je 0x15507d4
mov dword [0x164f7c8], 0
push 4
call fcn.015c2631
add esp, 4
mov dword [0x164f7b4], eax
call dword [0x164bb1c]
mov ecx, dword [0x164f7b4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3c]
mov dword [0x164ba88], edx
jmp 0x1550824
cmp dword [0x1645d10], 0
je 0x15507fd
mov eax, dword [ebp - 0x3c]
cmp eax, dword [0x164ba88]
jae 0x15507fd
cmp dword [0x1645558], 5
jl 0x15507fd
mov dword [0x1645d10], 0
jmp 0x1550824
cmp dword [0x164e618], 0
je 0x1550824
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [0x164ba88]
jbe 0x1550824
cmp dword [0x1645558], 5
jl 0x1550824
mov dword [0x164e618], 0
mov edx, dword [0x1645558]
add edx, 1
mov dword [0x1645558], edx
mov eax, dword [ebp - 0x3c]
mov dword [0x164ba88], eax
jmp 0x155085c
cmp dword [0x15d05f4], 0x32
jle 0x15508ee
fild dword [0x1645558]
fstp qword [ebp - 0xac]
fild dword [0x15d05f4]
fstp qword [ebp - 0xb4]
fld qword [0x1638458]
fmul qword [ebp - 0xb4]
fcomp qword [ebp - 0xac]
fnstsw ax
test ah, 1
je 0x15508ee
cmp dword [0x1645d10], 0
jne 0x15508ac
cmp dword [0x164e618], 0
je 0x15508ee
mov cx, word [0x15ef8cc]
shr cx, 1
mov word [0x15ef8cc], cx
cmp dword [0x15f1b54], 0
je 0x15508ee
xor edx, edx
mov dx, word [0x15ef8cc]
push edx
push 0x1624b98
push 0x1647800
call fcn.015c24f5
add esp, 0xc
push 0x1647800
push 0x21
call fcn.01549920
call dword [0x164bb1c]
mov dword [0x164d0d8], eax
mov eax, dword [0x164f7b4]
mov ecx, dword [0x164d0d8]
sub ecx, dword [eax]
mov dword [0x164a248], ecx
cmp dword [0x15d05f4], 0x32
jle 0x15509b0
fild dword [0x1645558]
fstp qword [ebp - 0xbc]
fild dword [0x15d05f4]
fstp qword [ebp - 0xc4]
fld qword [0x1638458]
fmul qword [ebp - 0xc4]
fcomp qword [ebp - 0xbc]
fnstsw ax
test ah, 1
je 0x15509b0
mov edx, dword [0x15d05f4]
imul edx, edx, 0xa
cmp edx, dword [0x164a248]
jbe 0x15509b0
mov eax, dword [0x164b8c4]
mov ecx, dword [eax]
shl ecx, 1
mov edx, dword [0x164b8c4]
mov dword [edx], ecx
cmp dword [0x15f1b54], 0
je 0x15509b0
mov eax, dword [0x164a248]
push eax
mov ecx, dword [0x15d05f4]
imul ecx, ecx, 0xa
push ecx
mov edx, dword [0x15d05f4]
push edx
mov eax, dword [0x1645558]
push eax
push 0x1624c74
push 0x1647800
call fcn.015c24f5
add esp, 0x18
push 0x1647800
push 0x21
call fcn.01549920
jmp 0x1550c2b
cmp dword [0x16466c4], 0
je 0x15509e5
cmp dword [0x164aee4], 0
je 0x15509e5
cmp dword [0x16466a8], 0
je 0x15509e5
mov dword [0x16466a8], 0
mov ecx, dword [ebp - 0x3c]
mov dword [0x1645d18], ecx
jmp 0x1550a35
cmp dword [0x16466c4], 0
je 0x1550a0e
mov edx, dword [ebp - 0x3c]
cmp edx, dword [0x1645d18]
jae 0x1550a0e
cmp dword [0x16455f0], 5
jb 0x1550a0e
mov dword [0x16466c4], 0
jmp 0x1550a35
cmp dword [0x164aee4], 0
je 0x1550a35
mov eax, dword [ebp - 0x3c]
cmp eax, dword [0x1645d18]
jbe 0x1550a35
cmp dword [0x16455f0], 5
jb 0x1550a35
mov dword [0x164aee4], 0
cmp dword [0x16455f0], 4
jne 0x1550a53
mov ecx, dword [ebp - 0x3c]
mov dword [0x164d160], ecx
mov edx, dword [0x164d160]
mov dword [0x164ba84], edx
cmp dword [0x16455f0], 5
jb 0x1550a93
cmp dword [0x16466c4], 0
je 0x1550a70
mov eax, dword [ebp - 0x3c]
cmp eax, dword [0x1645d18]
ja 0x1550a84
cmp dword [0x164aee4], 0
je 0x1550a93
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [0x1645d18]
jae 0x1550a93
mov edx, dword [0x16457c0]
add edx, 1
mov dword [0x16457c0], edx
mov eax, dword [ebp - 0x3c]
mov dword [0x1645d18], eax
cmp dword [0x15d05f4], 0x32
jle 0x1550b31
fild dword [0x16457c0]
fstp qword [ebp - 0xcc]
fild dword [0x15d05f4]
fstp qword [ebp - 0xd4]
fld qword [0x1638440]
fmul qword [ebp - 0xd4]
fcomp qword [ebp - 0xcc]
fnstsw ax
test ah, 1
je 0x1550b31
cmp dword [0x16466c4], 0
jne 0x1550aeb
cmp dword [0x164aee4], 0
je 0x1550b31
push 3
call fcn.01548730
lea ecx, [eax*4 + 4]
mov edx, dword [ebp - 0x38]
sub edx, ecx
mov dword [ebp - 0x38], edx
cmp dword [0x15f1b54], 0
je 0x1550b31
xor eax, eax
mov ax, word [0x15ef8cc]
push eax
push 0x1624de0
push 0x1647800
call fcn.015c24f5
add esp, 0xc
push 0x1647800
push 0x21
call fcn.01549920
call dword [0x164bb1c]
mov dword [0x164d0d8], eax
mov ecx, dword [ebp - 0x8c]
and ecx, 0xffff
imul ecx, ecx, 0xe
mov edx, dword [0x164d0d8]
sub edx, dword [ecx + 0x15d1f3e]
mov dword [0x164a248], edx
jmp 0x1550b82
cmp dword [0x164a248], 0x10
jae 0x1550c11
mov eax, dword [ebp - 0x44]
and eax, 0xffff
test eax, eax
jle 0x1550c11
mov cx, word [ebp - 0x44]
sub cx, 1
mov word [ebp - 0x44], cx
mov edx, dword [ebp - 0x8c]
and edx, 0xffff
imul edx, edx, 0xe
mov ax, word [edx + 0x15d1f3c]
and ax, 0x3fff
mov ecx, dword [ebp - 0x8c]
and ecx, 0xffff
imul ecx, ecx, 0xe
mov word [ecx + 0x15d1f3c], ax
mov edx, dword [ebp - 0x8c]
and edx, 0xffff
imul edx, edx, 0xe
mov eax, dword [ebp - 0x44]
and eax, 0xffff
shl eax, 0xe
mov cx, word [edx + 0x15d1f3c]
or cx, ax
mov edx, dword [ebp - 0x8c]
and edx, 0xffff
imul edx, edx, 0xe
mov word [edx + 0x15d1f3c], cx
mov eax, dword [ebp - 0x8c]
and eax, 0xffff
imul eax, eax, 0xe
mov ecx, dword [0x164d0d8]
mov dword [eax + 0x15d1f3e], ecx
jmp 0x1550c51
mov dword [0x1645554], 0
mov eax, eax
mov eax, dword [ebp - 0x20]
mov dword fs:[0], eax
add esp, 8
push 0x1649040
call dword [0x164e600]
xor edx, edx
test edx, edx
je 0x1550d31
push 0
mov eax, dword [0x16457a4]
push eax
call dword [0x164d3c0]
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
jne 0x1550d31
mov dword [0x16457a0], 0
mov dword [0x164ba80], 0x1548680
mov eax, dword fs:[0]
mov dword [0x164b9e0], eax
mov ecx, dword [0x1646548]
mov edx, dword [0x164ba80]
mov dword [ecx + 4], edx
mov eax, dword [0x1646548]
mov ecx, dword [0x164b9e0]
mov dword [eax], ecx
mov edx, dword [0x1646548]
mov dword [0x164ae8c], edx
mov eax, dword [0x164ae8c]
mov dword fs:[0], eax
mov dword [0x16457a8], 1
mov eax, dword fs:[0]
mov dword [0x1648fd4], eax
mov eax, dword [0x1648fd4]
mov ecx, dword [eax]
mov dword [0x164b9e0], ecx
cmp dword [0x164b9e0], 0xffffffff
je 0x1550d31
mov edx, dword [0x16457a8]
add edx, 1
mov dword [0x16457a8], edx
mov eax, dword [0x164b9e0]
mov dword [0x1648fd4], eax
jmp 0x1550d00
jmp 0x1550d57
mov eax, dword [ebp - 0x8c]
and eax, 0xffff
imul eax, eax, 0xe
xor ecx, ecx
mov cx, word [eax + 0x15d1f3c]
and ecx, 0x2000
test ecx, ecx
je 0x1550f55
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x70]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x74]
push edx
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
lea edx, [ebp - 0x2c]
push edx
call fcn.0154e310
test eax, eax
je 0x1550f55
jmp 0x1550e16
mov edx, dword [0x16457c4]
push edx
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [0x1645598]
push ecx
call fcn.015c1ac0
test eax, eax
jne 0x1550eb8
mov edx, dword [ebp - 0x2c]
shl edx, 4
mov eax, dword [edx + 0x15f1b70]
shr eax, 8
and eax, 0xff
cmp eax, 3
jne 0x1550e58
mov eax, 0x1550fbd
mov dword [ebp - 0x54], eax
jmp 0x1550e60
mov eax, 0x1550f84
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x60]
lea edx, [ecx*4 + 0x1646580]
push edx
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0x70]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x90]
push ecx
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0154fa00
jmp 0x1550f55
mov ecx, dword [ebp - 0x2c]
shl ecx, 4
mov edx, dword [ecx + 0x15f1b70]
shr edx, 8
and edx, 0xff
cmp edx, 3
jne 0x1550edc
mov eax, 0x1550fbd
mov dword [ebp - 0x54], eax
jmp 0x1550ee4
mov eax, 0x1550f84
mov dword [ebp - 0x54], eax
jmp 0x1550f02
mov eax, dword [ebp - 0x60]
lea ecx, [eax*4 + 0x1646580]
push ecx
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x4c]
push ecx
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x70]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x74]
push edx
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
call fcn.0154fe10
pop edx
pop ecx
mov eax, dword [ebp - 0x58]
call fcn.0154ffd9
mov esp, ebp
pop ebp
jmp dword [eax]