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

Disassembly:
push ebp
push edi
push esi
push ebx
xor ebx, ebx
sub esp, 0xcc
mov esi, dword [0x544668]
mov eax, dword [esp + 0xe0]
mov ebp, dword [esp + 0xe4]
lea ecx, [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [esp], eax
call esi
sub esp, 4
mov eax, dword [esp + 0xe8]
mov eax, dword [eax]
mov edx, dword [eax + 4]
test edx, edx
jne 0x481770
mov eax, edi
test al, al
je 0x481600
cmp word [ebp], 0x400c
je 0x4817d1
cmp ebx, 0x400
jne 0x4818fe
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], 0x5243c7
mov dword [esp], eax
call dword [0x5442e4]
test eax, eax
je 0x481b92
lea ecx, [esp + 0x78]
call dword [0x54495c]
cmp eax, 0x10
ja 0x481680
cmp eax, 0xe
jae 0x482450
cmp eax, 5
je 0x4824c0
ja 0x481930
cmp eax, 2
je 0x4825a4
ja 0x481636
test eax, eax
jne 0x481c18
cmp word [ebp], 0x400a
je 0x483196
mov edx, 0xa
mov dword [ebp + 8], 0x80020004
mov ebx, 1
mov word [ebp], dx
mov dword [esp], 4
call fcn.004899c0
mov edx, dword [ebp + 8]
or word [ebp], 0x4000
mov dword [ebp + 8], eax
mov dword [eax], edx
jmp 0x481c4c
lea ecx, [esp + 0x78]
call dword [0x54495c]
cmp eax, 0x10
ja 0x481680
cmp eax, 0xe
jae 0x482450
cmp eax, 5
je 0x4824c0
ja 0x481810
cmp eax, 2
je 0x4825a4
jbe 0x481c10
cmp eax, 3
je 0x481e90
cmp eax, 4
jne 0x482364
mov eax, edi
test al, al
jne 0x4826f4
mov ecx, 0x14
mov ebx, 1
mov word [ebp], cx
mov dword [esp], 0
lea ecx, [esp + 0x78]
call dword [0x544944]
sub esp, 4
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
jmp 0x481c4c
cmp eax, 0x26
je 0x4823f5
jbe 0x481991
cmp eax, 0x43
je 0x4820a0
ja 0x481a00
cmp eax, 0x40
je 0x481ee0
cmp eax, 0x41
jne 0x482364
mov eax, edi
test al, al
je 0x4816c2
cmp word [ebp], 0x4009
je 0x482eea
mov eax, 9
lea ecx, [esp + 0x78]
mov word [ebp], ax
call dword [0x544994]
cmp eax, 0x41
je 0x482e7a
lea ebx, [esp + 0xa8]
mov esi, dword [0x544adc]
mov ecx, ebx
call esi
mov dword [esp + 4], ebx
mov dword [esp], 0x41
lea ecx, [esp + 0x78]
call dword [0x544980]
sub esp, 8
test al, al
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
je 0x482e54
mov dword [esp], ebx
mov ecx, eax
call dword [0x544ad8]
sub esp, 4
mov ecx, ebx
mov ebx, dword [0x544ae0]
call ebx
mov esi, dword [esp + 0x18]
mov eax, esi
call fcn.0047e580
mov dword [ebp + 8], eax
mov ecx, esi
call ebx
mov eax, edi
test al, al
je 0x481c47
mov dword [esp], 4
call fcn.004899c0
mov edx, dword [ebp + 8]
mov dword [eax], edx
or word [ebp], 0x4000
mov dword [ebp + 8], eax
mov ebx, edi
jmp 0x481c4c
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x54463c]
test eax, 0xfffffbff
mov ebx, eax
je 0x481537
cmp eax, 0x29
je 0x481537
lea ecx, [esp + 0x78]
call dword [0x54495c]
cmp eax, ebx
je 0x481537
mov dword [esp], ebx
lea ecx, [esp + 0x78]
call dword [0x54493c]
sub esp, 4
test al, al
je 0x481ac0
mov dword [esp], ebx
lea ecx, [esp + 0x78]
call dword [0x544644]
sub esp, 4
jmp 0x481537
mov eax, dword [ebp + 8]
test eax, eax
je 0x48154d
mov edx, dword [esp + 0xe8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xc], 0
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004814f0
mov ebx, eax
jmp 0x481c4c
cmp eax, 0xa
je 0x482500
jbe 0x481c63
cmp eax, 0xb
je 0x481d60
cmp eax, 0xc
jne 0x482364
lea eax, [esp + 0x78]
lea ecx, [esp + 0x98]
mov dword [esp], eax
call dword [0x544948]
sub esp, 4
mov eax, dword [esp + 0x98]
mov ebx, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], 0x11
mov dword [esp + 8], ebx
call dword [0x54530c]
sub esp, 0xc
test ebx, ebx
mov esi, eax
jne 0x482ac0
mov eax, edi
test al, al
je 0x4826b5
cmp word [ebp], 0x6011
je 0x483140
mov ebx, 0x2011
mov dword [ebp + 8], esi
mov word [ebp], bx
mov dword [esp], 4
call fcn.004899c0
mov edx, dword [ebp + 8]
or word [ebp], 0x4000
mov dword [ebp + 8], eax
mov dword [eax], edx
mov eax, dword [esp + 0x98]
mov edx, dword [eax]
test edx, edx
je 0x4818e0
cmp edx, 0xffffffff
je 0x481c47
lock sub dword [eax], 1
mov eax, dword [esp + 0x98]
jne 0x481c47
nop
lea esi, [esi]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x481c47
lea ecx, [esp + 0x78]
call dword [0x54495c]
cmp eax, 0x10
ja 0x481680
cmp eax, 0xe
jae 0x482450
cmp eax, 5
je 0x4824c0
jbe 0x481627
lea esi, [esi]
cmp eax, 0xa
je 0x482500
ja 0x48181f
cmp eax, 6
jne 0x481c6c
cmp word [ebp], 0x4005
je 0x483514
mov eax, 0x4005
lea ecx, [esp + 0x78]
mov ebx, edi
mov word [ebp], ax
mov dword [esp], 0
call dword [0x544988]
sub esp, 4
fstp qword [esp + 0x18]
mov dword [esp], 8
call fcn.004899c0
fld qword [esp + 0x18]
fstp qword [eax]
mov dword [ebp + 8], eax
jmp 0x481c4c
cmp eax, 0x22
je 0x4823c0
jbe 0x482370
cmp eax, 0x24
je 0x481f72
cmp eax, 0x25
jne 0x482364
mov eax, edi
test al, al
je 0x482940
cmp word [ebp], 0x4011
je 0x4834f4
mov ebx, 0x4011
lea ecx, [esp + 0x78]
mov word [ebp], bx
mov dword [esp], 0
call dword [0x54497c]
sub esp, 4
mov ebx, eax
mov dword [esp], 1
call fcn.004899c0
mov byte [eax], bl
mov dword [ebp + 8], eax
mov ebx, edi
jmp 0x481c4c
cmp eax, 0x4a
je 0x481ff0
cmp eax, 0x400
jne 0x482364
mov esi, dword [0x544990]
lea ecx, [esp + 0x78]
mov dword [esp + 0x2c], esi
call esi
mov dword [esp], eax
mov eax, dword [0x544344]
lea ecx, [esp + 0x6c]
mov dword [esp + 4], 0xffffffff
mov dword [esp + 0x34], eax
call eax
sub esp, 8
lea ecx, [esp + 0x78]
call esi
mov dword [esp + 4], str.IDispatch
mov dword [esp], eax
mov ebx, dword [0x5442e0]
call ebx
test eax, eax
jne 0x482a70
mov eax, edi
test al, al
jne 0x4821f0
mov esi, 9
mov word [ebp], si
lea ecx, [esp + 0x78]
call dword [0x544640]
mov eax, dword [eax]
test eax, eax
mov dword [ebp + 8], eax
je 0x481a93
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 4]
sub esp, 4
mov eax, dword [esp + 0x6c]
mov edx, dword [eax]
test edx, edx
je 0x4818e0
cmp edx, 0xffffffff
je 0x481c47
lock sub dword [eax], 1
mov eax, dword [esp + 0x6c]
jne 0x481c47
jmp 0x4818e0
lea eax, [esp + 0x98]
mov dword [esp], ebx
mov ecx, eax
mov dword [esp + 0x18], eax
call dword [0x544648]
sub esp, 4
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x24], eax
mov dword [esp + 0xa8], eax
and edx, 0x3fffffff
mov eax, dword [esp + 0x7c]
mov ecx, edx
movzx edx, byte [esp + 0x83]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xb0]
and eax, 0xc0000000
or eax, ecx
mov ecx, edx
and edx, 0xffffff80
mov dword [esp + 0xb0], eax
shr eax, 0x18
and ecx, 0x40
and eax, 0x3f
or eax, ecx
mov ecx, dword [esp + 0x18]
or edx, eax
mov eax, dword [esp + 0xac]
mov byte [esp + 0xb3], dl
mov edx, dword [esp + 0x24]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x98], edx
mov dword [esp + 0xa0], eax
call dword [0x544690]
jmp 0x481537
mov dword [esp], 0x10
call fcn.004899c0
mov ebx, eax
mov eax, dword [0x5442f0]
mov dword [esp + 0xc], 0
mov dword [esp + 4], ebx
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xa8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.004814f0
mov eax, dword [esp + 0xa8]
mov edx, dword [eax]
test edx, edx
je 0x4821a0
cmp edx, 0xffffffff
je 0x481bf9
lock sub dword [eax], 1
mov eax, dword [esp + 0xa8]
je 0x4821a0
mov eax, 0x400c
mov dword [ebp + 8], ebx
mov ebx, edi
mov word [ebp], ax
jmp 0x481c4c
test eax, eax
je 0x482640
cmp eax, 1
jne 0x482364
mov eax, edi
test al, al
jne 0x482660
mov eax, 0xb
lea ecx, [esp + 0x78]
mov word [ebp], ax
call dword [0x544964]
movzx eax, al
neg eax
mov word [ebp + 8], ax
mov ebx, 1
lea ecx, [esp + 0x78]
call dword [0x544690]
add esp, 0xcc
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 6
je 0x482910
cmp eax, 9
jne 0x482364
lea eax, [esp + 0x78]
lea ecx, [esp + 0x60]
mov dword [esp], eax
mov eax, dword [0x54496c]
mov dword [esp + 0x2c], eax
call eax
sub esp, 4
mov eax, dword [esp + 0x60]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
mov eax, dword [esp + 0xe8]
mov eax, dword [eax]
mov dword [esp + 0x24], edx
mov eax, dword [eax + 4]
test eax, eax
jne 0x482b11
lea eax, [esp + 0x88]
mov dword [esp + 0x3c], 0x29
mov dword [esp + 0x30], eax
mov eax, 0xc
mov word [esp + 0x28], ax
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x482c40
movzx eax, word [esp + 0x28]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [0x54530c]
sub esp, 0xc
mov dword [esp + 0x18], eax
mov eax, edi
test al, al
movzx eax, word [esp + 0x28]
je 0x4826d0
or ah, 0x60
cmp word [ebp], ax
je 0x4830fa
movzx eax, word [esp + 0x28]
or ah, 0x20
mov word [ebp], ax
mov eax, dword [esp + 0x18]
mov dword [ebp + 8], eax
mov dword [esp], 4
call fcn.004899c0
mov edx, dword [ebp + 8]
or word [ebp], 0x4000
mov dword [ebp + 8], eax
mov dword [eax], edx
lea ecx, [esp + 0x60]
mov ebx, 1
call fcn.004ae110
jmp 0x481c4c
lea eax, [esp + 0x98]
lea edx, [esp + 0x78]
mov ecx, eax
mov dword [esp + 0x18], eax
mov dword [esp], edx
call dword [0x544954]
sub esp, 4
mov eax, dword [esp + 0x98]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
mov dword [esp + 4], 0
mov dword [esp], 8
mov esi, edx
mov dword [esp + 0x28], edx
mov dword [esp + 8], edx
call dword [0x54530c]
sub esp, 0xc
test esi, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0xa8], 0
jle 0x4825eb
xor eax, eax
lea ebx, [esp + 0xa8]
mov esi, dword [0x545328]
mov dword [esp + 0xe4], ebp
mov dword [esp + 0x2c], edi
jmp 0x481e07
cmp eax, 0xffffffff
je 0x481dec
lock sub dword [ebp], 1
je 0x481e69
mov eax, dword [esp + 0xa8]
add eax, 1
cmp eax, dword [esp + 0x28]
mov dword [esp + 0xa8], eax
jge 0x4825e0
mov edx, dword [esp + 0x98]
add eax, dword [edx + 8]
mov ebp, dword [edx + eax*4 + 0x10]
mov eax, dword [ebp]
add eax, 1
cmp eax, 1
ja 0x4821e0
mov eax, dword [ebp + 4]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
add eax, ebp
mov dword [esp], eax
call dword [0x545330]
sub esp, 8
mov edi, eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], ebx
mov dword [esp], eax
call esi
sub esp, 0xc
mov dword [esp], edi
call dword [0x545334]
mov eax, dword [ebp]
sub esp, 4
test eax, eax
jne 0x481de0
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], ebp
call dword [0x5442ec]
jmp 0x481dec
mov eax, edi
test al, al
je 0x4827d4
cmp word [ebp], 0x4013
je 0x483534
mov eax, 0x4013
lea ecx, [esp + 0x78]
mov word [ebp], ax
mov dword [esp], 0
call dword [0x54497c]
sub esp, 4
mov ebx, eax
mov dword [esp], 4
call fcn.004899c0
mov dword [eax], ebx
mov dword [ebp + 8], eax
mov ebx, edi
jmp 0x481c4c
mov eax, edi
test al, al
je 0x481ef2
cmp word [ebp], 0x4009
je 0x482f80
mov eax, 9
lea ecx, [esp + 0x78]
mov word [ebp], ax
call dword [0x544994]
cmp eax, 0x40
je 0x482ea8
lea ebx, [esp + 0xa8]
mov esi, dword [0x544a68]
mov ecx, ebx
call esi
mov dword [esp + 4], ebx
mov dword [esp], 0x40
lea ecx, [esp + 0x78]
call dword [0x544980]
sub esp, 8
test al, al
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
je 0x482e60
mov dword [esp], ebx
mov ecx, eax
call dword [0x544a64]
sub esp, 4
mov ecx, ebx
mov ebx, dword [0x544a6c]
call ebx
mov esi, dword [esp + 0x18]
mov eax, esi
call fcn.0047e920
jmp 0x48173d
mov eax, edi
test al, al
je 0x482784
cmp word [ebp], 0x4012
je 0x4836b1
mov eax, 0x4012
lea ecx, [esp + 0x78]
mov word [ebp], ax
call dword [0x544994]
cmp eax, 0x24
je 0x482e30
lea eax, [esp + 0xa8]
mov dword [esp], 0x24
mov dword [esp + 4], eax
lea ecx, [esp + 0x78]
mov ebx, 0
call dword [0x544980]
sub esp, 8
test al, al
cmovne bx, word [esp + 0xa8]
mov dword [esp], 2
call fcn.004899c0
mov word [eax], bx
mov dword [ebp + 8], eax
mov ebx, edi
jmp 0x481c4c
lea ecx, [esp + 0x78]
call dword [0x544994]
cmp eax, 0x4a
je 0x482e00
lea ebx, [esp + 0xa8]
mov esi, dword [0x544ab8]
mov ecx, ebx
call esi
mov dword [esp + 4], ebx
mov dword [esp], 0x4a
lea ecx, [esp + 0x78]
call dword [0x544980]
sub esp, 8
test al, al
je 0x482ed6
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xa8], 0
mov dword [esp + 0x98], eax
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
mov ecx, ebx
mov ebx, dword [0x544abc]
call ebx
mov ecx, dword [esp + 0x18]
call dword [0x544b64]
mov ecx, dword [esp + 0x18]
mov esi, eax
call ebx
mov eax, edi
test al, al
je 0x4826e3
movzx eax, word [ebp]
test ah, 0x40
je 0x482e69
and eax, 0xbfff
cmp eax, 0x17
ja case.0x482099.0
jmp dword [eax*4 + 0x524468]
mov eax, edi
test al, al
je 0x482970
cmp word [ebp], 0x4003
je 0x483554
mov ebx, 0x4003
lea ecx, [esp + 0x78]
mov word [ebp], bx
call dword [0x544994]
cmp eax, 0x43
je 0x4831a9
lea esi, [esp + 0xa8]
mov ebx, dword [0x544a88]
mov ecx, esi
call ebx
mov dword [esp + 4], esi
mov dword [esp], 0x43
lea ecx, [esp + 0x78]
call dword [0x544980]
sub esp, 8
test al, al
je 0x48324d
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xa0], eax
movzx eax, word [esp + 0xb4]
mov word [esp + 0xa4], ax
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
mov ebx, dword [esp + 0x18]
mov ecx, ebx
call dword [0x544b44]
mov ecx, ebx
mov dword [esp + 0x18], eax
call dword [0x544b54]
mov ecx, ebx
mov esi, eax
call dword [0x544b48]
mov dword [esp], 4
mov ebx, eax
shl esi, 8
call fcn.004899c0
movzx edx, byte [esp + 0x18]
shl ebx, 0x10
movzx esi, si
and ebx, 0xff0000
or ebx, esi
or edx, ebx
mov ebx, edi
mov dword [eax], edx
mov dword [ebp + 8], eax
jmp 0x481c4c
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x481bf9
mov eax, dword [ebp + 8]
mov ebx, edi
mov dword [eax], esi
jmp 0x481c4c
mov eax, dword [ebp + 8]
mov ebx, edi
mov word [eax], si
jmp 0x481c4c
lock add dword [ebp], 1
jmp 0x481e24
lea eax, [esp + 0x70]
mov dword [esp + 0xa8], 2
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov ecx, eax
mov dword [esp + 0x38], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0xb8], 0x524457
mov dword [esp], eax
call dword [0x544854]
sub esp, 4
mov eax, dword [esp + 0x70]
cmp dword [eax + 0x18], 1
jle 0x482252
or dword [eax + 0x2c], 1
lea ecx, [esp + 0x78]
mov eax, dword [esp + 0x2c]
call eax
lea ecx, [esp + 0x88]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
mov eax, dword [esp + 0x34]
call eax
sub esp, 8
lea edx, [esp + 0x88]
lea eax, [esp + 0x98]
call fcn.0047ea40
mov eax, dword [esp + 0x98]
mov dword [esp + 8], 0
mov ecx, dword [esp + 0x38]
mov edx, dword [eax + 4]
mov dword [esp + 4], edx
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x5444e8]
sub esp, 0xc
mov ecx, dword [esp + 0x70]
cmp byte [ecx + 0x14], 0
je 0x4822cd
mov dword [esp], 0x20
call dword [0x5443d8]
sub esp, 4
mov eax, dword [esp + 0x98]
mov edx, dword [eax]
test edx, edx
je 0x4830b9
cmp edx, 0xffffffff
je 0x4822f4
lock sub dword [eax], 1
mov eax, dword [esp + 0x98]
je 0x4830b9
mov eax, dword [esp + 0x88]
mov edx, dword [eax]
test edx, edx
je 0x48309b
cmp edx, 0xffffffff
je 0x48231b
lock sub dword [eax], 1
mov eax, dword [esp + 0x88]
je 0x48309b
mov ecx, dword [esp + 0x38]
call dword [0x5444ec]
xor eax, eax
mov dword [ebp + 8], 0
mov word [ebp], ax
mov eax, dword [esp + 0x6c]
mov edx, dword [eax]
test edx, edx
je 0x48234b
cmp edx, 0xffffffff
je 0x482364
lock sub dword [eax], 1
mov eax, dword [esp + 0x6c]
jne 0x482364
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x5442ec]
xor ebx, ebx
jmp 0x481c4c
cmp eax, 0x21
jne 0x482364
mov eax, edi
test al, al
je 0x482880
cmp word [ebp], 0x4002
je 0x483662
mov edx, 0x4002
lea ecx, [esp + 0x78]
mov word [ebp], dx
call dword [0x544994]
cmp eax, 0x21
je 0x482e30
lea eax, [esp + 0xa8]
mov dword [esp], 0x21
mov dword [esp + 4], eax
jmp 0x481fb6
mov eax, edi
test al, al
je 0x482800
cmp word [ebp], 0x4010
je 0x4836db
mov eax, 0x4010
lea ecx, [esp + 0x78]
mov word [ebp], ax
mov dword [esp], 0
call dword [0x544960]
jmp 0x4819e2
mov eax, edi
test al, al
je 0x4828b3
cmp word [ebp], 0x4004
je 0x483491
mov eax, 0x4004
lea ecx, [esp + 0x78]
mov ebx, edi
mov word [ebp], ax
mov dword [esp], 0
call dword [0x544988]
sub esp, 4
fstp qword [esp + 0x18]
mov dword [esp], 4
call fcn.004899c0
fld qword [esp + 0x18]
fstp dword [eax]
mov dword [ebp + 8], eax
jmp 0x481c4c
mov eax, edi
test al, al
je 0x482830
cmp word [ebp], 0x4007
je 0x483626
lea eax, [esp + 0x78]
mov edx, 0x4007
lea ecx, [esp + 0xa8]
mov word [ebp], dx
mov ebx, edi
mov dword [esp], eax
call dword [0x544940]
sub esp, 4
lea eax, [esp + 0xa8]
call fcn.0047e6f0
fstp qword [esp + 0x18]
mov dword [esp], 8
call fcn.004899c0
fld qword [esp + 0x18]
lea ecx, [esp + 0xa8]
mov dword [ebp + 8], eax
fstp qword [eax]
call dword [0x5446b0]
jmp 0x481c4c
mov eax, edi
test al, al
jne 0x482750
mov eax, 0x15
lea ecx, [esp + 0x78]
mov ebx, 1
mov word [ebp], ax
mov dword [esp], 0
call dword [0x54494c]
sub esp, 4
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
jmp 0x481c4c
mov eax, edi
test al, al
je 0x482512
cmp word [ebp], 0x4008
je 0x483016
mov eax, 8
lea ecx, [esp + 0xa8]
mov word [ebp], ax
lea eax, [esp + 0x78]
mov dword [esp], eax
call dword [0x54498c]
sub esp, 4
mov eax, dword [esp + 0xa8]
mov edx, dword [eax + 4]
mov dword [esp + 4], edx
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x545330]
sub esp, 8
mov dword [ebp + 8], eax
mov eax, dword [esp + 0xa8]
mov edx, dword [eax]
test edx, edx
je 0x482a50
cmp edx, 0xffffffff
je 0x482579
lock sub dword [eax], 1
mov eax, dword [esp + 0xa8]
je 0x482a50
mov eax, edi
test al, al
je 0x481c47
mov dword [esp], 4
mov ebx, edi
call fcn.004899c0
mov edx, dword [ebp + 8]
or word [ebp], 0x4000
mov dword [ebp + 8], eax
mov dword [eax], edx
jmp 0x481c4c
mov eax, edi
test al, al
je 0x4828e0
cmp word [ebp], 0x4003
je 0x4834b1
mov eax, 0x4003
lea ecx, [esp + 0x78]
mov word [ebp], ax
mov dword [esp], 0
call dword [0x544960]
jmp 0x481ec0
mov ebp, dword [esp + 0xe4]
mov edi, dword [esp + 0x2c]
mov eax, edi
test al, al
je 0x4826a0
cmp word [ebp], 0x6008
je 0x48311d
mov eax, dword [esp + 0x24]
mov edi, 0x2008
mov word [ebp], di
mov dword [ebp + 8], eax
mov dword [esp], 4
call fcn.004899c0
mov edx, dword [ebp + 8]
or word [ebp], 0x4000
mov dword [ebp + 8], eax
mov dword [eax], edx
mov ecx, dword [esp + 0x18]
call fcn.004adc30
jmp 0x481c47
mov eax, edi
test al, al
jne 0x4815bb
mov eax, 0xa
mov dword [ebp + 8], 0x80020004
mov word [ebp], ax
jmp 0x481c47
cmp word [ebp], 0x400b
je 0x483475
mov eax, 0x400b
lea ecx, [esp + 0x78]
mov word [ebp], ax
call dword [0x544964]
movzx ebx, al
mov dword [esp], 2
neg ebx
call fcn.004899c0
mov word [eax], bx
mov dword [ebp + 8], eax
mov ebx, edi
jmp 0x481c4c
mov eax, dword [esp + 0x24]
mov esi, 0x2008
mov word [ebp], si
mov dword [ebp + 8], eax
jmp 0x48262b
mov ecx, 0x2011
mov dword [ebp + 8], esi
mov word [ebp], cx
jmp 0x4818b4
or ah, 0x20
mov word [ebp], ax
mov eax, dword [esp + 0x18]
mov dword [ebp + 8], eax
jmp 0x481d47
mov eax, 3
mov dword [ebp + 8], esi
mov word [ebp], ax
jmp 0x481c47
movzx eax, word [ebp]
cmp ax, 0x4006
je 0x4830d7
cmp ax, 0x4014
je 0x4830d7
mov ebx, 0x4014
lea ecx, [esp + 0x78]
mov word [ebp], bx
mov dword [esp], 0
call dword [0x544944]
sub esp, 4
mov ebx, eax
mov esi, edx
mov dword [esp], 8
call fcn.004899c0
mov dword [eax], ebx
mov dword [eax + 4], esi
mov ebx, edi
mov dword [ebp + 8], eax
jmp 0x481c4c
movzx eax, word [ebp]
cmp ax, 0x4006
je 0x4834d1
cmp ax, 0x4015
je 0x4836fb
mov edx, 0x4015
lea ecx, [esp + 0x78]
mov word [ebp], dx
mov dword [esp], 0
call dword [0x54494c]
jmp 0x482726
mov eax, 0x12
lea ecx, [esp + 0x78]
mov word [ebp], ax
call dword [0x544994]
cmp eax, 0x24
je 0x482e42
lea eax, [esp + 0xa8]
mov dword [esp], 0x24
mov dword [esp + 4], eax
lea ecx, [esp + 0x78]
call dword [0x544980]
sub esp, 8
test al, al
mov eax, 0
cmovne ax, word [esp + 0xa8]
jmp 0x481c43
mov esi, 0x13
lea ecx, [esp + 0x78]
mov ebx, 1
mov word [ebp], si
mov dword [esp], 0
call dword [0x54497c]
sub esp, 4
mov dword [ebp + 8], eax
jmp 0x481c4c
mov esi, 0x10
lea ecx, [esp + 0x78]
mov ebx, 1
mov word [ebp], si
mov dword [esp], 0
call dword [0x544960]
sub esp, 4
mov byte [ebp + 8], al
jmp 0x481c4c
mov eax, 7
lea ecx, [esp + 0xa8]
mov ebx, 1
mov word [ebp], ax
lea eax, [esp + 0x78]
mov dword [esp], eax
call dword [0x544940]
sub esp, 4
lea eax, [esp + 0xa8]
call fcn.0047e6f0
lea ecx, [esp + 0xa8]
fstp qword [ebp + 8]
call dword [0x5446b0]
jmp 0x481c4c
mov eax, 2
lea ecx, [esp + 0x78]
mov word [ebp], ax
call dword [0x544994]
cmp eax, 0x21
je 0x482e42
lea eax, [esp + 0xa8]
mov dword [esp], 0x21
mov dword [esp + 4], eax
jmp 0x4827b2
mov eax, 4
lea ecx, [esp + 0x78]
mov ebx, 1
mov word [ebp], ax
mov dword [esp], 0
call dword [0x544988]
sub esp, 4
fstp dword [ebp + 8]
jmp 0x481c4c
mov eax, 3
lea ecx, [esp + 0x78]
mov ebx, 1
mov word [ebp], ax
mov dword [esp], 0
call dword [0x544960]
sub esp, 4
mov dword [ebp + 8], eax
jmp 0x481c4c
mov esi, 5
lea ecx, [esp + 0x78]
mov ebx, 1
mov word [ebp], si
mov dword [esp], 0
call dword [0x544988]
sub esp, 4
fstp qword [ebp + 8]
jmp 0x481c4c
mov ecx, 0x11
mov ebx, 1
mov word [ebp], cx
mov dword [esp], 0
lea ecx, [esp + 0x78]
call dword [0x54497c]
sub esp, 4
mov byte [ebp + 8], al
jmp 0x481c4c
mov ecx, 3
mov word [ebp], cx
lea ecx, [esp + 0x78]
call dword [0x544994]
cmp eax, 0x43
je 0x4831ec
lea ebx, [esp + 0xa8]
mov esi, dword [0x544a88]
mov ecx, ebx
call esi
mov dword [esp + 4], ebx
mov dword [esp], 0x43
lea ecx, [esp + 0x78]
call dword [0x544980]
sub esp, 8
test al, al
je 0x483261
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xa0], eax
movzx eax, word [esp + 0xb4]
mov word [esp + 0xa4], ax
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x18]
mov ecx, edi
call dword [0x544b44]
mov ecx, edi
mov esi, eax
call dword [0x544b54]
mov ebx, eax
mov ecx, edi
shl ebx, 8
call dword [0x544b48]
shl eax, 0x10
movzx ebx, bx
and eax, 0xff0000
or ebx, eax
mov eax, esi
movzx esi, al
or esi, ebx
mov ebx, 1
mov dword [ebp + 8], esi
jmp 0x481c4c
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x482579
lea ecx, [esp + 0x78]
mov eax, dword [esp + 0x2c]
call eax
mov dword [esp + 4], 0x52436b
mov dword [esp], eax
call ebx
test eax, eax
jne 0x48315f
mov ebx, 9
lea ecx, [esp + 0x78]
mov word [ebp], bx
call dword [0x544640]
mov eax, dword [eax]
mov dword [ebp + 8], eax
mov eax, edi
test al, al
je 0x481a93
or word [ebp], 0x4000
jmp 0x481a93
mov eax, dword [esp + 0x98]
add eax, dword [eax + 0xc]
mov dword [esp], esi
mov dword [esp + 0x18], eax
lea eax, [esp + 0xa8]
mov dword [esp + 4], eax
call dword [0x545304]
sub esp, 8
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00489a8c
mov dword [esp], esi
call dword [0x54532c]
sub esp, 4
jmp 0x481878
mov dword [esp], str.QList_
mov ecx, dword [esp + 0xe8]
call dword [0x544748]
sub esp, 4
test al, al
je 0x481cb0
mov eax, dword [esp + 0xe8]
lea ebx, [esp + 0xa8]
mov ecx, ebx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 4], 6
sub eax, 7
mov dword [esp + 8], eax
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
call dword [0x544754]
sub esp, 0xc
mov eax, dword [esp + 0xa8]
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x54463c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xa8]
mov edx, dword [eax]
test edx, edx
je 0x48378c
cmp edx, 0xffffffff
je 0x482ba5
lock sub dword [eax], 1
mov eax, dword [esp + 0xa8]
je 0x48378c
mov eax, dword [esp + 0x3c]
cmp eax, 0x10
ja case.0x482bae.0
jmp dword [eax*4 + 0x5244c8]
lea eax, [esp + 0x90]
mov word [esp + 0x28], 3
mov dword [esp + 0x30], eax
jmp 0x481ccd
lea eax, [esp + 0x90]
mov word [esp + 0x28], 0xb
mov dword [esp + 0x30], eax
jmp 0x481ccd
lea eax, [esp + 0x90]
mov word [esp + 0x28], 7
mov dword [esp + 0x30], eax
jmp 0x481ccd
lea eax, [esp + 0x90]
mov word [esp + 0x28], 5
mov dword [esp + 0x30], eax
jmp 0x481ccd
lea eax, [esp + 0x90]
mov word [esp + 0x28], 0x14
mov dword [esp + 0x30], eax
jmp 0x481ccd
lea eax, [esp + 0x88]
mov word [esp + 0x28], 0xc
mov dword [esp + 0x30], eax
jmp 0x481ccd
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x64]
mov edx, dword [eax + 8]
mov eax, dword [eax + edx*4 + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
call eax
sub esp, 4
mov eax, dword [esp + 0x64]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
mov dword [esp + 0x54], edx
jne 0x483275
lea ecx, [esp + 0x64]
call fcn.004ae110
movzx eax, word [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov dword [esp + 4], 0
mov dword [esp + 8], ebx
mov dword [esp], eax
call dword [0x54530c]
sub esp, 0xc
test ebx, ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x70], 0
jle 0x481cfe
mov eax, dword [0x545340]
lea edx, [esp + 0x98]
lea ecx, [esp + 0x88]
lea ebx, [esp + 0xa8]
mov dword [esp + 0xe4], ebp
mov dword [esp + 0x48], edi
mov ebp, edx
mov edi, ecx
mov dword [esp + 0x40], eax
mov eax, dword [0x544990]
mov dword [esp + 0x2c], eax
mov eax, dword [0x544344]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x38], eax
mov eax, dword [0x545328]
mov dword [esp + 0x44], eax
xor eax, eax
mov edx, dword [esp + 0x60]
mov ecx, ebx
add eax, dword [edx + 8]
mov eax, dword [edx + eax*4 + 0x10]
mov dword [esp], eax
call esi
sub esp, 4
mov eax, dword [esp + 0x3c]
cmp eax, 0x29
je 0x482d2b
mov dword [esp], eax
mov ecx, ebx
call dword [0x544644]
sub esp, 4
mov eax, dword [esp + 0x40]
mov dword [esp], edi
call eax
sub esp, 4
mov ecx, ebx
mov eax, dword [esp + 0x2c]
call eax
mov ecx, ebp
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
mov eax, dword [esp + 0x34]
call eax
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebp
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.004814f0
mov eax, dword [esp + 0x98]
mov edx, dword [eax]
test edx, edx
je 0x482de1
cmp edx, 0xffffffff
je 0x482d8c
lock sub dword [eax], 1
mov eax, dword [esp + 0x98]
je 0x482de1
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
call eax
sub esp, 0xc
mov dword [esp], edi
call fcn.00487be0
mov ecx, ebx
call dword [0x544690]
mov eax, dword [esp + 0x70]
add eax, 1
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x70], eax
jl 0x482cff
mov ebp, dword [esp + 0xe4]
mov edi, dword [esp + 0x48]
jmp 0x481cfe
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x482d8c
lea ecx, [esp + 0x78]
call dword [0x544998]
lea edx, [esp + 0x98]
mov dword [esp], eax
mov dword [esp + 0x18], edx
mov ecx, edx
call dword [0x544ab4]
mov ebx, dword [0x544abc]
sub esp, 4
jmp 0x482062
lea ecx, [esp + 0x78]
call dword [0x544998]
movzx ebx, word [eax]
jmp 0x481fd3
lea ecx, [esp + 0x78]
call dword [0x544998]
movzx eax, word [eax]
jmp 0x481c43
mov ecx, eax
call esi
jmp 0x481728
mov ecx, eax
call esi
jmp 0x481f58
mov eax, 3
mov dword [ebp + 8], esi
mov word [ebp], ax
jmp 0x48174e
lea esi, [esp + 0x98]
lea ecx, [esp + 0x78]
call dword [0x544998]
mov dword [esp + 0x18], esi
mov dword [esp], eax
mov ecx, esi
call dword [0x544ad8]
mov ebx, dword [0x544ae0]
sub esp, 4
jmp 0x481732
lea ecx, [esp + 0x78]
call dword [0x544998]
lea edx, [esp + 0x98]
mov dword [esp], eax
mov dword [esp + 0x18], edx
mov ecx, edx
call dword [0x544a64]
mov ebx, dword [0x544a6c]
sub esp, 4
jmp 0x481f62
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
mov ecx, eax
call esi
jmp 0x482058
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x482efe
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
lea ecx, [esp + 0x78]
call dword [0x544994]
cmp eax, 0x41
je 0x483730
lea ebx, [esp + 0xa8]
mov esi, dword [0x544adc]
mov ecx, ebx
call esi
mov dword [esp + 4], ebx
mov dword [esp], 0x41
lea ecx, [esp + 0x78]
call dword [0x544980]
sub esp, 8
test al, al
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
je 0x48371e
mov dword [esp], ebx
mov ecx, eax
call dword [0x544ad8]
sub esp, 4
mov ecx, ebx
mov ebx, dword [0x544ae0]
call ebx
mov esi, dword [ebp + 8]
mov ebp, dword [esp + 0x18]
mov eax, ebp
call fcn.0047e580
mov ecx, ebp
mov dword [esi], eax
call ebx
mov ebx, edi
jmp 0x481c4c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x482f94
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
lea ecx, [esp + 0x78]
call dword [0x544994]
cmp eax, 0x40
je 0x48375e
lea ebx, [esp + 0xa8]
mov esi, dword [0x544a68]
mov ecx, ebx
call esi
mov dword [esp + 4], ebx
mov dword [esp], 0x40
lea ecx, [esp + 0x78]
call dword [0x544980]
sub esp, 8
test al, al
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
je 0x483727
mov dword [esp], ebx
mov ecx, eax
call dword [0x544a64]
sub esp, 4
mov ecx, ebx
mov ebx, dword [0x544a6c]
call ebx
mov esi, dword [ebp + 8]
mov ebp, dword [esp + 0x18]
mov eax, ebp
call fcn.0047e920
mov ecx, ebp
mov dword [esi], eax
call ebx
mov ebx, edi
jmp 0x481c4c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x48302b
mov dword [esp], eax
call dword [0x545334]
sub esp, 4
lea eax, [esp + 0x78]
lea ecx, [esp + 0xa8]
mov dword [esp], eax
call dword [0x54498c]
sub esp, 4
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0xa8]
mov edx, dword [eax + 4]
mov dword [esp + 4], edx
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x545330]
sub esp, 8
mov dword [ebx], eax
mov eax, dword [esp + 0xa8]
mov edx, dword [eax]
test edx, edx
je 0x48322f
cmp edx, 0xffffffff
je 0x48308b
lock sub dword [eax], 1
mov eax, dword [esp + 0xa8]
je 0x48322f
mov eax, 0x4008
mov ebx, edi
mov word [ebp], ax
jmp 0x481c4c
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x48231b
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x4822f4
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x78]
mov dword [esp], 0
call dword [0x544944]
sub esp, 4
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, edi
jmp 0x481c4c
mov eax, dword [ebp + 8]
mov edx, dword [eax]
test edx, edx
je 0x483112
mov dword [esp], edx
call dword [0x545310]
mov eax, dword [ebp + 8]
sub esp, 4
mov edi, dword [esp + 0x18]
mov dword [eax], edi
jmp 0x481d47
mov eax, dword [ebp + 8]
mov edx, dword [eax]
test edx, edx
je 0x483135
mov dword [esp], edx
call dword [0x545310]
mov eax, dword [ebp + 8]
sub esp, 4
mov edi, dword [esp + 0x24]
mov dword [eax], edi
jmp 0x48262b
mov eax, dword [ebp + 8]
mov edx, dword [eax]
test edx, edx
je 0x483158
mov dword [esp], edx
call dword [0x545310]
mov eax, dword [ebp + 8]
sub esp, 4
mov dword [eax], esi
jmp 0x4818b4
lea ecx, [esp + 0x78]
mov eax, dword [esp + 0x2c]
call eax
mov dword [esp + 4], str.IUnknown
mov dword [esp], eax
call ebx
test eax, eax
jne 0x4837bc
mov eax, edi
test al, al
jne 0x4821f0
mov ecx, 0xd
mov word [ebp], cx
jmp 0x481a75
mov eax, dword [ebp + 8]
mov ebx, 1
mov dword [eax], 0x80020004
jmp 0x481c4c
lea ecx, [esp + 0x78]
call dword [0x544998]
mov edx, dword [eax]
mov dword [esp + 0x98], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x9c], edx
mov edx, dword [eax + 8]
mov dword [esp + 0xa0], edx
movzx eax, word [eax + 0xc]
mov word [esp + 0xa4], ax
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
jmp 0x482148
lea ecx, [esp + 0x78]
call dword [0x544998]
mov edx, dword [eax]
mov dword [esp + 0x98], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x9c], edx
mov edx, dword [eax + 8]
mov dword [esp + 0xa0], edx
movzx eax, word [eax + 0xc]
mov word [esp + 0xa4], ax
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
jmp 0x482a02
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x48308b
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
mov ecx, eax
call ebx
jmp 0x482148
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
mov ecx, eax
call esi
jmp 0x482a02
mov ebx, dword [esp + 0x24]
lea eax, [esp + 0xa8]
mov dword [esp + 0xac], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov dword [esp + 0xa8], ebx
mov dword [esp], 0xc
call dword [0x545308]
sub esp, 0xc
test ebx, ebx
mov dword [esp + 0x18], eax
jle 0x483467
mov dword [esp + 0x34], 0
mov dword [esp + 0xe4], ebp
mov dword [esp + 0x58], edi
mov dword [esp + 0x50], esi
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x68]
mov dword [esp + 0x70], edx
add edx, dword [eax + 8]
mov eax, dword [eax + edx*4 + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
call eax
sub esp, 4
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x54]
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
sub ecx, eax
cmp ecx, esi
cmovg ecx, esi
test ecx, ecx
mov dword [esp + 0x38], ecx
jle 0x483440
mov ecx, dword [0x545340]
lea esi, [esp + 0x98]
lea edi, [esp + 0x88]
lea ebp, [esp + 0x6c]
xor ebx, ebx
mov dword [esp + 0x4c], ecx
mov ecx, dword [0x544990]
mov dword [esp + 0x48], ecx
mov ecx, dword [0x544344]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x40], ecx
mov ecx, dword [0x545328]
mov dword [esp + 0x3c], ecx
add eax, ebx
mov ecx, esi
mov eax, dword [edx + eax*4 + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
call eax
sub esp, 4
mov eax, dword [esp + 0x4c]
mov dword [esp], edi
call eax
sub esp, 4
mov ecx, esi
mov eax, dword [esp + 0x48]
call eax
mov ecx, ebp
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
mov eax, dword [esp + 0x44]
call eax
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebp
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004814f0
mov eax, dword [esp + 0x6c]
mov edx, dword [eax]
test edx, edx
je 0x483423
cmp edx, 0xffffffff
je 0x4833da
lock sub dword [eax], 1
mov eax, dword [esp + 0x6c]
je 0x483423
mov eax, dword [esp + 0x30]
mov dword [esp + 0x74], ebx
add ebx, 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
call eax
sub esp, 0xc
mov dword [esp], edi
call fcn.00487be0
mov ecx, esi
call dword [0x544690]
cmp ebx, dword [esp + 0x38]
je 0x483440
mov edx, dword [esp + 0x68]
mov eax, dword [edx + 8]
jmp 0x48336b
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x4833da
lea ecx, [esp + 0x68]
call fcn.004ae110
add dword [esp + 0x34], 1
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x24]
jne 0x4832e3
mov ebp, dword [esp + 0xe4]
mov edi, dword [esp + 0x58]
lea ecx, [esp + 0x64]
call fcn.004ae110
jmp 0x481cfe
lea ecx, [esp + 0x78]
mov ebx, edi
call dword [0x544964]
mov edx, dword [ebp + 8]
movzx eax, al
neg eax
mov word [edx], ax
jmp 0x481c4c
mov dword [esp], 0
lea ecx, [esp + 0x78]
mov ebx, edi
call dword [0x544988]
mov eax, dword [ebp + 8]
sub esp, 4
fstp dword [eax]
jmp 0x481c4c
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x78]
mov dword [esp], 0
call dword [0x544960]
sub esp, 4
mov dword [ebx], eax
mov ebx, edi
jmp 0x481c4c
lea ecx, [esp + 0x78]
mov dword [esp], 0
mov ebx, edi
call dword [0x54494c]
mov ecx, dword [ebp + 8]
sub esp, 4
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x481c4c
mov dword [esp], 0
lea ecx, [esp + 0x78]
mov ebx, edi
call dword [0x54497c]
mov edx, dword [ebp + 8]
sub esp, 4
mov byte [edx], al
jmp 0x481c4c
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x78]
mov dword [esp], 0
call dword [0x544988]
sub esp, 4
fstp qword [ebx]
mov ebx, edi
jmp 0x481c4c
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x78]
mov dword [esp], 0
call dword [0x54497c]
sub esp, 4
mov dword [ebx], eax
mov ebx, edi
jmp 0x481c4c
lea ecx, [esp + 0x78]
call dword [0x544994]
cmp eax, 0x43
je 0x4838c3
lea esi, [esp + 0xa8]
mov ebx, dword [0x544a88]
mov ecx, esi
call ebx
mov dword [esp + 4], esi
mov dword [esp], 0x43
lea ecx, [esp + 0x78]
call dword [0x544980]
sub esp, 8
test al, al
je 0x483906
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xa0], eax
movzx eax, word [esp + 0xb4]
mov word [esp + 0xa4], ax
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
mov ebx, dword [esp + 0x18]
mov ecx, ebx
call dword [0x544b44]
mov ecx, ebx
mov esi, eax
mov dword [esp + 0x18], ebx
call dword [0x544b54]
mov ebx, eax
mov ecx, dword [esp + 0x18]
shl ebx, 8
call dword [0x544b48]
shl eax, 0x10
movzx ecx, bx
mov edx, dword [ebp + 8]
and eax, 0xff0000
mov ebx, edi
or eax, ecx
mov ecx, esi
movzx esi, cl
or esi, eax
mov dword [edx], esi
jmp 0x481c4c
lea eax, [esp + 0x78]
lea ecx, [esp + 0xa8]
mov dword [esp], eax
call dword [0x544940]
mov ebx, dword [ebp + 8]
sub esp, 4
lea eax, [esp + 0xa8]
call fcn.0047e6f0
lea ecx, [esp + 0xa8]
fstp qword [ebx]
mov ebx, edi
call dword [0x5446b0]
jmp 0x481c4c
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x78]
call dword [0x544994]
cmp eax, 0x21
je 0x4837aa
lea eax, [esp + 0xa8]
mov dword [esp], 0x21
mov dword [esp + 4], eax
lea ecx, [esp + 0x78]
call dword [0x544980]
sub esp, 8
test al, al
mov eax, 0
cmovne ax, word [esp + 0xa8]
mov word [ebx], ax
mov ebx, edi
jmp 0x481c4c
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x78]
call dword [0x544994]
cmp eax, 0x24
je 0x4837aa
lea eax, [esp + 0xa8]
mov dword [esp], 0x24
mov dword [esp + 4], eax
jmp 0x48368a
mov dword [esp], 0
lea ecx, [esp + 0x78]
mov ebx, edi
call dword [0x544960]
mov edx, dword [ebp + 8]
sub esp, 4
mov byte [edx], al
jmp 0x481c4c
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x78]
mov dword [esp], 0
call dword [0x54494c]
sub esp, 4
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, edi
jmp 0x481c4c
mov ecx, eax
call esi
jmp 0x482f5b
mov ecx, eax
call esi
jmp 0x482ff1
lea esi, [esp + 0x98]
lea ecx, [esp + 0x78]
call dword [0x544998]
mov dword [esp + 0x18], esi
mov dword [esp], eax
mov ecx, esi
call dword [0x544ad8]
mov ebx, dword [0x544ae0]
sub esp, 4
jmp 0x482f65
lea esi, [esp + 0x98]
lea ecx, [esp + 0x78]
call dword [0x544998]
mov dword [esp + 0x18], esi
mov dword [esp], eax
mov ecx, esi
call dword [0x544a64]
mov ebx, dword [0x544a6c]
sub esp, 4
jmp 0x482ffb
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x5442ec]
jmp 0x482ba5
lea ecx, [esp + 0x78]
call dword [0x544998]
movzx eax, word [eax]
jmp 0x4836a7
lea eax, [esp + 0x6c]
mov dword [esp], eax
call dword [0x544720]
test eax, eax
je 0x482332
mov eax, edi
test al, al
je 0x48391a
lea eax, [esp + 0x70]
mov dword [esp + 0xa8], 2
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov ecx, eax
mov dword [esp + 0x38], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0xb8], 0x524457
mov dword [esp], eax
call dword [0x544854]
push edx
mov eax, dword [esp + 0x70]
cmp dword [eax + 0x18], 1
jle 0x48383b
or dword [eax + 0x2c], 1
mov eax, dword [esp + 0x34]
lea edi, [esp + 0x88]
mov dword [esp + 4], 0xffffffff
mov dword [esp], str.subtype
mov ecx, edi
call eax
push eax
push eax
mov edx, edi
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
call fcn.0047ea40
mov eax, dword [esp + 0x98]
mov dword [esp + 8], 0
mov ecx, dword [esp + 0x38]
mov edx, dword [eax + 4]
mov dword [esp + 4], edx
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x5444e8]
sub esp, 0xc
mov ecx, dword [esp + 0x70]
cmp byte [ecx + 0x14], 0
je 0x4838ae
mov dword [esp], 0x20
call dword [0x5443d8]
push eax
mov ecx, dword [esp + 0x18]
call fcn.0048a470
mov ecx, edi
call fcn.0048a470
jmp 0x48231b
lea ecx, [esp + 0x78]
call dword [0x544998]
mov edx, dword [eax]
mov dword [esp + 0x98], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x9c], edx
mov edx, dword [eax + 8]
mov dword [esp + 0xa0], edx
movzx eax, word [eax + 0xc]
mov word [esp + 0xa4], ax
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
jmp 0x4835dd
lea eax, [esp + 0x98]
mov dword [esp + 0x18], eax
mov ecx, eax
call ebx
jmp 0x4835dd
lea ecx, [esp + 0x78]
call dword [0x544998]
mov ecx, dword [eax]
mov eax, dword [0x525c44]
mov word [ebp], 9
mov dword [esp + 0xa8], eax
movzx eax, word [0x525c48]
add ecx, 8
mov word [esp + 0xac], ax
movzx eax, word [0x525c4a]
mov word [esp + 0xae], ax
movzx eax, byte [0x525c4c]
mov byte [esp + 0xb0], al
movzx eax, byte [0x525c4d]
mov byte [esp + 0xb1], al
movzx eax, byte [0x525c4e]
mov byte [esp + 0xb2], al
movzx eax, byte [0x525c4f]
mov byte [esp + 0xb3], al
movzx eax, byte [0x525c50]
mov byte [esp + 0xb4], al
movzx eax, byte [0x525c51]
mov byte [esp + 0xb5], al
movzx eax, byte [0x525c52]
mov byte [esp + 0xb6], al
movzx eax, byte [0x525c53]
mov byte [esp + 0xb7], al
lea eax, [ebp + 8]
mov dword [esp + 4], eax
lea eax, [esp + 0xa8]
mov dword [esp], eax
call fcn.0046f5b0
push eax
push eax
jmp 0x481a93