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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd0
mov esi, esp
call fcn.0054dc00
mov dl, 1
mov edi, 0
mov ebx, dword [0x88c650]
mov dword [esi + 0xc4], eax
mov eax, dword [0x88c654]
sub edi, 1
mov dword [esi + 0xc0], eax
mov eax, ebx
mov eax, ebx
add eax, edi
imul ebx, eax
and ebx, 1
cmp ebx, 0
sete dh
mov eax, dword [esi + 0xc0]
cmp eax, 0xa
setl al
mov ah, dh
xor ah, 1
mov bl, al
xor bl, 1
xor dl, 1
mov bh, ah
and bh, 1
and dh, dl
mov byte [esi + 0xbf], al
mov al, bl
and al, 1
mov byte [esi + 0xbe], al
mov al, byte [esi + 0xbf]
and al, dl
or bh, dh
mov dh, byte [esi + 0xbe]
or dh, al
xor bh, dh
or ah, bl
xor ah, 1
or dl, 1
and ah, dl
or bh, ah
test bh, 1
mov dword [esi + 0xb8], ecx
jne 0x54c97b
jmp 0x54d8a4
lea eax, str..text
lea ecx, [0x889f4e]
lea edx, [0x5e2084]
lea edi, [0x88a3b4]
lea ebx, [0x5ada26]
mov dword [esi + 0xb4], eax
lea eax, [0x88991a]
mov dword [esi + 0xb0], eax
lea eax, [0x889f1c]
mov dword [esi + 0xac], eax
lea eax, [0x88a13a]
call fcn.0054dc10
mov eax, 4
call fcn.0054dc20
mov dword [esi + 0xa0], ebx
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x98], edx
call fcn.0054dc30
call fcn.00437f10
mov eax, 0x7fffff
mov eax, esp
mov ecx, dword [esi + 0xa4]
mov dword [esi + 0x90], eax
mov eax, 0x1ffff
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, 0xa8
mov dword [esi + 0x8c], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
call fcn.0054dc40
mov dword [esi + 0x88], eax
mov eax, edx
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0xa4]
mov dword [esi + 0x84], eax
mov eax, 0x4372dc
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0xa4]
call fcn.0054dc50
mov eax, ebx
mov eax, ecx
call fcn.00437f10
mov eax, esp
call fcn.0054dc60
mov dword [esi + 0x7c], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, 0x18
mov dword [esi + 0x78], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov ecx, 0x4374a4
mov esp, eax
mov ecx, dword [esi + 0xa4]
mov dword [esi + 0x74], eax
mov eax, 0x4372e8
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0xa4]
mov dword [esi + 0x70], eax
mov eax, ecx
call fcn.00437f10
mov ecx, 0xffff
mov eax, esp
call fcn.0054dc70
mov dword [esi + 0x6c], eax
mov eax, 0x4374e0
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0xa4]
mov dword [esi + 0x68], eax
mov eax, 0x4373cc
mov eax, ecx
call fcn.00437f10
mov edx, 0x3ffff
mov eax, esp
mov ecx, dword [esi + 0x90]
mov edx, dword [esi + 0xc4]
mov dword [ecx], edx
mov edi, dword [esi + 0x8c]
call fcn.0054dc80
mov dword [edi], ebx
mov ecx, dword [edi]
mov edx, 0x800000
mov edx, ecx
add edx, 0x70
mov edi, dword [esi + 0x88]
mov dword [edi], edx
call fcn.0054dc90
mov edx, 0x4372ac
mov edx, ecx
add edx, 0x6c
mov dword [edi + 8], edx
mov dword [edi + 0xc], 0x1d
mov dword [edi + 0x10], 0x20
mov edx, dword [esi + 0xa8]
call fcn.0054dca0
mov edx, 0x437288
mov edx, ecx
add edx, 0x70
call fcn.0054dcb0
mov dword [edi + 0x1c], 0
mov edx, 0x400000
mov edx, ecx
add edx, 0x6c
mov dword [edi + 0x20], edx
mov dword [edi + 0x24], 0x26
mov dword [edi + 0x28], 0x10
mov edx, dword [esi + 0xac]
mov dword [edi + 0x2c], edx
mov edx, ecx
sub edx, 0xffffff90
mov dword [edi + 0x30], edx
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 4
mov edx, dword [esi + 0xb0]
mov dword [edi + 0x44], edx
mov dword [edi + 0x48], 0
mov dword [edi + 0x4c], 0
mov edx, eax
mov edx, ecx
add edx, 0x6c
mov dword [edi + 0x50], edx
mov dword [edi + 0x54], 0x1b
mov dword [edi + 0x58], 4
mov edx, dword [esi + 0xa0]
call fcn.0054dcc0
mov edx, ecx
add edx, 0x68
call fcn.0054dcd0
mov dword [edi + 0x64], 0xffffffe8
mov dword [edi + 0x68], 0
call fcn.0054dce0
mov dword [edi + 0x70], 0x20
mov edx, dword [esi + 0x94]
mov dword [edi + 0x74], edx
mov edx, ecx
sub edx, 0xffffff98
mov dword [edi + 0x78], edx
mov dword [edi + 0x7c], 0xfffffff4
mov dword [edi + 0x80], 0
mov dword [edi + 0x84], 0
mov dword [edi + 0x88], 0x10
mov edx, dword [esi + 0x98]
mov dword [edi + 0x8c], edx
mov edx, 0x437378
mov edx, ecx
sub edx, 0xffffff98
mov dword [edi + 0x90], edx
mov dword [edi + 0x94], 0xffffffec
mov dword [edi + 0x98], 0
mov dword [edi + 0x9c], 0
mov dword [edi + 0xa0], 4
mov edx, dword [esi + 0x9c]
call fcn.0054dcf0
mov edx, dword [esi + 0x90]
mov edx, dword [edx]
sub esp, 8
mov dword [esp], edx
mov edx, dword [esi + 0xb4]
mov dword [esp + 4], edx
mov dword [esi + 0x64], eax
mov dword [esi + 0x60], ecx
call fcn.00472a00
add esp, 8
mov ecx, dword [esi + 0x84]
call fcn.0054dd00
mov eax, dword [esi + 0x90]
mov edx, dword [eax]
call fcn.0054dd10
call fcn.0054dd20
add edx, 0x6b68b3d6
add edx, edi
add edx, 0x94974c2a
call fcn.0054dd30
mov dword [edi], edx
mov edx, dword [ecx]
call fcn.0054dd40
mov ebx, dword [esi + 0x7c]
mov dword [ebx], edx
mov edx, dword [esi + 0x78]
mov eax, dword [esi + 0x88]
mov dword [edx], eax
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, eax
sub edx, 0x820c0ccb
sub edx, 1
add edx, 0x820c0ccb
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl ah
mov cl, al
and cl, ah
xor al, ah
or cl, al
test cl, 1
jne 0x54cd67
jmp 0x54d8a4
jmp 0x54cd6c
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
add ecx, 0x7bbc8fbc
mov edx, dword [esi + 0x88]
sub ecx, edx
sub ecx, 0x7bbc8fbc
cmp ecx, 0xa8
jae 0x54d89a
mov eax, dword [0x88c650]
call fcn.0054dd50
mov edx, 0x400000
mov edx, eax
sub edx, 0x8c45b409
sub edx, 1
add edx, 0x8c45b409
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x54cde2
jmp 0x54db62
pushfd
mov eax, 0x78607289
add eax, 0x879f8d77
popfd
mov ecx, dword [esi + 0x60]
mov edx, dword [ecx + 0x11c]
call fcn.0054dd60
call fcn.0054dd70
mov ebx, dword [ebx + 0x10]
xor ebx, 0x285e55b1
xor ebx, 0xd7a1aa4e
mov ecx, edx
xor ecx, ebx
and ecx, edx
cmp ecx, 0
setne cl
call fcn.0054dd80
mov ebx, dword [0x88c654]
sub eax, 1
mov edi, edx
add edi, eax
imul edx, edi
and edx, 1
cmp edx, 0
sete ch
cmp ebx, 0xa
setl al
mov ah, ch
and ah, al
xor ch, al
or ah, ch
test ah, 1
mov byte [esi + 0x5f], cl
jne 0x54ce68
jmp 0x54db62
mov al, byte [esi + 0x5f]
test al, 1
jne 0x54ce7d
jmp 0x54ce78
jmp 0x54d7b7
mov eax, dword [esi + 0x78]
call fcn.0054dd90
cmp dword [ecx], 0
je 0x54d01b
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, 7
mov edx, eax
add edx, 0xdd22d352
sub edx, 1
sub edx, 0xdd22d352
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x54cee3
jmp 0x54dba3
mov al, 1
mov ecx, 0
mov edx, dword [esi + 0x78]
mov edi, dword [edx]
mov edi, dword [edi]
cmp dword [edi], 0
setne ah
mov edi, dword [0x88c650]
mov ebx, dword [0x88c654]
add ecx, 0xffffffff
mov edx, edi
add edx, ecx
imul edi, edx
and edi, 1
cmp edi, 0
sete cl
cmp ebx, 0xa
setl ch
mov dl, cl
xor dl, 1
mov dh, ch
xor dh, 1
xor al, 0
mov bl, dl
and bl, 0
and cl, al
mov bh, dh
and bh, 0
and ch, al
or bl, cl
or bh, ch
xor bl, bh
or dl, dh
xor dl, 1
or al, 0
and dl, al
or bl, dl
test bl, 1
mov byte [esi + 0x5e], ah
jne 0x54cf67
jmp 0x54dba3
mov al, byte [esi + 0x5e]
test al, 1
jne 0x54cf77
jmp 0x54d01b
call fcn.0054dda0
mov ecx, dword [0x88c654]
mov edx, eax
add edx, 0xa98ce5c
add edx, 0xffffffff
add edx, 0xf56731a4
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x54cfc4
jmp 0x54dba8
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, 0x1ffff
mov edx, eax
add edx, 0x2ebf50d8
add edx, 0xffffffff
add edx, 0xd140af28
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x54d016
jmp 0x54dba8
jmp 0x54d7b7
call fcn.0054ddb0
mov ecx, dword [0x88c654]
mov edx, eax
add edx, 0xe4994ff4
add edx, 0xffffffff
sub edx, 0xe4994ff4
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x54d068
jmp 0x54db67
mov eax, 0
mov ecx, dword [esi + 0x78]
call fcn.0054ddc0
cmp dword [edx + 8], 0
setne bl
mov edx, dword [0x88c650]
mov edi, dword [0x88c654]
sub eax, 1
mov ecx, 0x7fff
mov ecx, edx
add ecx, eax
imul edx, ecx
and edx, 1
cmp edx, 0
sete bh
cmp edi, 0xa
setl al
mov ah, bh
and ah, al
xor bh, al
or ah, bh
test ah, 1
mov byte [esi + 0x5d], bl
jne 0x54d0cd
jmp 0x54db67
mov al, byte [esi + 0x5d]
test al, 1
jne 0x54d0dd
jmp 0x54d2a8
call fcn.0054ddd0
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
cmp dword [ecx], 0
je 0x54d2a8
mov al, 1
mov ecx, dword [0x88c650]
mov edx, dword [0x88c654]
mov edi, ecx
sub edi, 0x9d7ef06c
sub edi, 1
sub edi, 0x62810f94
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x54d169
jmp 0x54db6c
mov al, 1
call fcn.0054dde0
mov edx, dword [0x88c654]
mov edi, ecx
sub edi, 0x4efde35a
sub edi, 1
add edi, 0x4efde35a
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x54d1de
jmp 0x54db6c
mov al, 1
mov ecx, dword [0x88c650]
mov edx, dword [0x88c654]
mov edi, ecx
add edi, 0x1555fc10
sub edi, 1
add edi, 0xeaaa03f0
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x54d254
jmp 0x54dbad
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, ebx
mov edx, eax
sub edx, 0x9ca5cc2e
add edx, 0xffffffff
add edx, 0x9ca5cc2e
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x54d2a3
jmp 0x54dbad
jmp 0x54d7b7
call fcn.0054ddf0
mov ecx, dword [0x88c654]
mov edx, 0x100000
mov edx, eax
sub edx, 0xf7248187
sub edx, 1
sub edx, 0x8db7e79
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x54d2fa
jmp 0x54dbb2
mov eax, 0
mov ecx, dword [0x88c650]
call fcn.0054de00
sub eax, 1
mov edi, ecx
add edi, eax
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x54d343
jmp 0x54dbb2
mov al, 1
call fcn.0054de10
mov edx, dword [0x88c654]
mov edi, ecx
add edi, 0xcd06c2d8
add edi, 0xffffffff
add edi, 0x32f93d28
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x54d3b8
jmp 0x54db71
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x14]
sub esp, 8
mov edx, dword [esi + 0x74]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004e59a0
add esp, 8
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, 0x4373cc
mov edx, eax
sub edx, 0x877a2c09
sub edx, 1
add edx, 0x877a2c09
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
push edx
mov edx, 0x75c8a758
xor edx, 0x75c8a752
cmp ecx, edx
pop edx
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x54d430
jmp 0x54db71
jmp 0x54d435
call fcn.0054de20
mov ecx, dword [0x88c654]
mov edx, eax
sub edx, 0x3e1800e5
sub edx, 1
add edx, 0x3e1800e5
imul eax, edx
and eax, 1
push edx
mov edx, 0xabafdc87
xor edx, 0xabafdc87
cmp eax, edx
pop edx
sete bl
push ebx
mov ebx, 0x542694d4
xor ebx, 0x542694de
cmp ecx, ebx
pop ebx
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x54d495
jmp 0x54dbb7
mov eax, dword [0x88c650]
call fcn.0054de30
mov edx, eax
mov edx, eax
sub edx, 0x72e2e186
sub edx, 1
sub edx, 0x8d1d1e7a
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x54d4e3
jmp 0x54dbb7
sub esp, 8
mov eax, esp
mov dword [eax + 4], 0
mov dword [eax], 0xffffffcc
mov ecx, dword [esi + 0x74]
call fcn.004ccf60
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x70]
mov ecx, dword [esi + 0x58]
call fcn.0054de40
cmp ecx, 0xffffffff
je 0x54d53c
mov eax, dword [esi + 0x70]
mov ecx, dword [eax]
sub esp, 4
mov edx, esp
call fcn.0054de50
mov ecx, dword [esi + 0x74]
call fcn.004981f0
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x54]
mov byte [eax], 0
jmp 0x54d435
mov al, 1
call fcn.0054de60
call fcn.0054de70
mov edi, ecx
add edi, 0xb4a73ee0
sub edi, 1
sub edi, 0xb4a73ee0
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 1
mov ch, bh
and ch, 1
and ah, al
mov dl, cl
and dl, 1
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 1
and bh, al
or ch, bh
test ch, 1
jne 0x54d5b0
jmp 0x54db93
mov ecx, dword [esi + 0x74]
call fcn.0051a8c0
mov ecx, dword [0x88c650]
mov edx, dword [0x88c654]
mov edi, ecx
sub edi, 0xeef63db3
sub edi, 1
add edi, 0xeef63db3
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov cl, bl
and cl, bh
xor bl, bh
or cl, bl
test cl, 1
mov dword [esi + 0x50], eax
jne 0x54d60c
jmp 0x54db93
sub esp, 4
mov eax, 0xfffff
mov eax, esp
call fcn.0054de80
mov ecx, dword [esi + 0x74]
call fcn.004981f0
mov dword [esi + 0x4c], eax
call fcn.0054de90
mov ecx, dword [eax]
mov edx, dword [esi + 0x80]
mov edi, dword [edx]
sub esp, 0x10
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.0054dea0
mov dword [esp + 8], ecx
mov edi, dword [esi + 0x50]
mov dword [esp + 0xc], edi
call fcn.00429e30
add esp, 0x10
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x48]
call fcn.0054deb0
cmp dword [eax], 0
je 0x54d7af
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
cmp dword [ecx], 0
je 0x54d768
mov eax, dword [0x88c650]
call fcn.0054dec0
mov edx, eax
sub edx, 0xd159f6a6
sub edx, 1
add edx, 0xd159f6a6
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x54d6ce
jmp 0x54dbbc
mov al, 1
mov ecx, 0x5c6748
mov ecx, dword [ecx]
mov edx, dword [esi + 0x64]
mov edi, dword [edx]
mov ebx, dword [esi + 0x78]
call fcn.0054ded0
call fcn.0054dee0
mov ebx, ecx
sub ebx, edx
sub edi, ebx
mov edx, dword [esi + 0x78]
mov ebx, dword [edx]
mov ebx, dword [ebx]
mov dword [ebx], edi
call fcn.0054def0
mov ebx, dword [0x88c654]
sub ecx, 1
mov edx, esi
mov edx, edi
add edx, ecx
imul edi, edx
and edi, 1
cmp edi, 0
sete ah
cmp ebx, 0xa
setl cl
mov ch, ah
xor ch, 1
mov dl, cl
xor dl, 1
xor al, 0
mov dh, ch
and dh, 0
and ah, al
mov bl, dl
and bl, 0
and cl, al
or dh, ah
or bl, cl
xor dh, bl
or ch, dl
xor ch, 1
or al, 0
and ch, al
or dh, ch
test dh, 1
jne 0x54d763
jmp 0x54dbbc
jmp 0x54d768
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
cmp dword [ecx + 8], 0
je 0x54d7aa
mov eax, 0x5c6728
mov eax, dword [eax]
mov ecx, dword [esi + 0x64]
call fcn.0054df00
call fcn.0054df10
mov ebx, dword [edi]
call fcn.0054df20
mov ecx, eax
sub ecx, edx
mov edx, eax
sub edx, ebx
add ecx, edx
sub eax, ecx
mov eax, dword [eax]
mov ecx, dword [edi]
mov ecx, dword [ecx + 8]
mov dword [ecx], eax
jmp 0x54d7af
mov ecx, dword [esi + 0x74]
call fcn.00551e20
mov al, 1
mov ecx, dword [0x88c650]
mov edx, dword [0x88c654]
mov edi, ecx
sub edi, 0x2adf67db
add edi, 0xffffffff
add edi, 0x2adf67db
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete ah
cmp edx, 0xa
setl bl
mov bh, ah
xor bh, 1
mov cl, bl
xor cl, 1
xor al, 0
mov ch, bh
and ch, 0
and ah, al
mov dl, cl
and dl, 0
and bl, al
or ch, ah
or dl, bl
xor ch, dl
or bh, cl
xor bh, 1
or al, 0
and bh, al
or ch, bh
test ch, 1
jne 0x54d82d
jmp 0x54dbea
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
add ecx, 0x18
call fcn.0054df30
mov ecx, dword [0x88c650]
call fcn.0054df40
mov edi, ecx
add edi, 0x3a3ff929
sub edi, 1
add edi, 0xc5c006d7
imul ecx, edi
and ecx, 1
push ebx
mov ebx, 0x591c0ecb
xor ebx, 0x591c0ecb
cmp ecx, ebx
pop ebx
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
jne 0x54d895
jmp 0x54dbea
jmp 0x54cd6c
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
lea eax, str..text
lea ecx, [0x889f4e]
lea edx, [0x5e2084]
lea edi, [0x88a3b4]
lea ebx, [0x5ada26]
mov dword [esi + 0x44], eax
lea eax, [0x88991a]
mov dword [esi + 0x40], eax
lea eax, [0x889f1c]
mov dword [esi + 0x3c], eax
lea eax, [0x88a13a]
mov dword [esi + 0x38], eax
mov eax, 4
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ebx
call fcn.0054df50
mov dword [esi + 0x28], edx
mov dword [esi + 0x24], edi
call fcn.00437f10
mov eax, esp
call fcn.0054df60
call fcn.0054df70
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, 0xa8
mov dword [esi + 0x1c], eax
mov eax, 0x7ff
mov eax, ecx
call fcn.00437f10
mov eax, 0x437360
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x18], eax
mov eax, esi
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x14], eax
mov eax, 0x437288
mov eax, ecx
call fcn.00437f10
mov eax, 0x437480
mov eax, esp
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x10], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x34]
mov dword [esi + 0xc], eax
mov eax, ecx
call fcn.00437f10
mov ecx, 0x4000
mov eax, esp
call fcn.0054df80
mov edx, dword [esi + 0xc4]
mov dword [ecx], edx
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 0xb8]
mov dword [edi], ebx
mov ecx, dword [edi]
mov edx, 0x1fff
mov edx, ecx
add edx, 0x70
call fcn.0054df90
mov dword [edi], edx
call fcn.0054dfa0
mov edx, 0x40
mov edx, ecx
add edx, 0x6c
mov dword [edi + 8], edx
mov dword [edi + 0xc], 0x1d
call fcn.0054dfb0
mov edx, dword [esi + 0x38]
mov dword [edi + 0x14], edx
mov edx, ecx
add edx, 0x70
call fcn.0054dfc0
mov dword [edi + 0x1c], 0
mov edx, ecx
add edx, 0x6c
call fcn.0054dfd0
mov dword [edi + 0x24], 0x26
mov dword [edi + 0x28], 0x10
call fcn.0054dfe0
mov dword [edi + 0x2c], edx
mov edx, ecx
add edx, 0x70
mov dword [edi + 0x30], edx
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
call fcn.0054dff0
mov dword [edi + 0x40], 4
mov edx, dword [esi + 0x40]
call fcn.0054e000
mov dword [edi + 0x48], 0
mov dword [edi + 0x4c], 0
mov edx, ecx
add edx, 0x6c
mov dword [edi + 0x50], edx
call fcn.0054e010
mov dword [edi + 0x58], 4
mov edx, dword [esi + 0x30]
mov dword [edi + 0x5c], edx
mov edx, ecx
add edx, 0x68
call fcn.0054e020
mov dword [edi + 0x64], 0xffffffe8
call fcn.0054e030
mov dword [edi + 0x6c], 0
mov dword [edi + 0x70], 0x20
mov edx, dword [esi + 0x24]
mov dword [edi + 0x74], edx
mov edx, ecx
sub edx, 0xffffff98
call fcn.0054e040
mov dword [edi + 0x7c], 0xfffffff4
mov dword [edi + 0x80], 0
mov dword [edi + 0x84], 0
call fcn.0054e050
call fcn.0054e060
call fcn.0054e070
add ecx, 0x68
mov dword [edi + 0x90], ecx
mov dword [edi + 0x94], 0xffffffec
mov dword [edi + 0x98], 0
mov dword [edi + 0x9c], 0
mov dword [edi + 0xa0], 4
mov ecx, dword [esi + 0x2c]
mov dword [edi + 0xa4], ecx
mov ecx, dword [esi + 0x20]
call fcn.0054e080
sub esp, 8
mov dword [esp], ecx
mov ecx, dword [esi + 0x44]
mov dword [esp + 4], ecx
call fcn.0054e090
call fcn.00472a00
add esp, 8
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [esi + 0x20]
mov edx, dword [eax]
mov edi, dword [ecx]
mov edi, dword [edi + 0xc]
add edx, 0x483ef9d2
add edx, edi
add edx, 0xb7c1062e
mov edi, dword [esi + 0x10]
mov dword [edi], edx
mov edx, dword [ecx]
call fcn.0054e0a0
mov ebx, dword [esi + 0xc]
mov dword [ebx], edx
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x18]
call fcn.0054e0b0
jmp 0x54c97b
jmp 0x54cde2
jmp 0x54d068
jmp 0x54d169
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x14]
sub esp, 8
mov edx, dword [esi + 0x74]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004e59a0
add esp, 8
jmp 0x54d3b8
mov ecx, dword [esi + 0x74]
call fcn.0051a8c0
mov dword [esi + 4], eax
jmp 0x54d5b0
jmp 0x54cee3
jmp 0x54cfc4
jmp 0x54d254
jmp 0x54d2fa
jmp 0x54d495
call fcn.0054e0c0
mov ecx, dword [eax]
mov edx, dword [esi + 0x78]
call fcn.0054e0d0
mov edi, dword [edi + 4]
sub ecx, 0x920bef60
add ecx, edi
sub ecx, 0x6df410a0
call fcn.0054e0e0
mov edi, dword [edi]
mov dword [edi], ecx
jmp 0x54d6ce
mov eax, dword [esi + 0x78]
mov ecx, dword [eax]
add ecx, 0x18
mov dword [eax], ecx
jmp 0x54d82d