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

Disassembly:
push ebp
push edi
push esi
push ebx
xor ebx, ebx
sub esp, 0xbc
mov edi, dword [0x543f08]
mov eax, dword [esp + 0xd0]
mov ebp, dword [esp + 0xd4]
lea ecx, [esp + 0x68]
mov esi, dword [esp + 0xdc]
mov dword [esp], eax
call edi
sub esp, 4
mov eax, dword [esp + 0xd8]
mov eax, dword [eax]
mov edx, dword [eax + 4]
test edx, edx
jne 0x4d0f53
mov eax, esi
test al, al
je 0x4d0d70
cmp word [ebp], 0x400c
je 0x4d1080
cmp ebx, 0x400
jne 0x4d0eb0
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], 0x52e671
mov dword [esp], eax
call dword [0x543d1c]
test eax, eax
jne 0x4d0eb0
mov dword [esp], 0x10
call fcn.004d5eb8
mov ebx, eax
mov eax, dword [0x543d28]
mov dword [esp + 0xc], 0
mov dword [esp + 4], ebx
mov dword [esp + 0x98], eax
lea eax, [esp + 0x98]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
call fcn.004d0c70
mov edx, dword [esp + 0x98]
mov eax, dword [edx]
test eax, eax
je 0x4d1615
cmp eax, 0xffffffff
je 0x4d0d59
lock sub dword [edx], 1
je 0x4d160e
mov eax, 0x400c
mov dword [ebp + 8], ebx
mov ebx, 1
mov word [ebp], ax
jmp 0x4d10b3
lea ecx, [esp + 0x68]
call dword [0x54412c]
cmp eax, 0x10
jg 0x4d0de0
cmp eax, 0xe
jge 0x4d1ab0
cmp eax, 5
je 0x4d1a50
jg 0x4d11a5
cmp eax, 2
je 0x4d1af1
jg 0x4d1633
test eax, eax
je 0x4d2230
cmp eax, 1
jne 0x4d15a0
mov esi, 0xb
lea ecx, [esp + 0x68]
mov word [ebp], si
call dword [0x544134]
movzx eax, al
neg eax
mov word [ebp + 8], ax
mov ebx, 1
jmp 0x4d10b3
cmp eax, 0x26
je 0x4d1a80
jle 0x4d12b0
cmp eax, 0x43
je 0x4d1bb0
jg 0x4d13f0
cmp eax, 0x40
je 0x4d1cc3
cmp eax, 0x41
jne 0x4d15a0
mov ebx, 9
lea ecx, [esp + 0x68]
mov word [ebp], bx
call dword [0x544164]
cmp eax, 0x41
je 0x4d2747
lea ebx, [esp + 0x98]
mov edi, dword [0x544240]
mov ecx, ebx
call edi
mov dword [esp + 4], ebx
mov dword [esp], 0x41
lea ecx, [esp + 0x68]
call dword [0x544150]
sub esp, 8
test al, al
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
je 0x4d22f0
mov dword [esp], ebx
mov ecx, eax
call dword [0x54423c]
sub esp, 4
mov ecx, ebx
mov ebx, dword [0x544244]
call ebx
mov edi, dword [esp + 0x10]
mov eax, edi
call fcn.004cdf70
mov dword [ebp + 8], eax
mov ecx, edi
call ebx
mov eax, esi
test al, al
jne 0x4d19cc
lea esi, [esi]
mov ebx, 1
jmp 0x4d10b3
lea ecx, [esp + 0x68]
call dword [0x54412c]
cmp eax, 0x10
jg 0x4d10d0
cmp eax, 0xe
jge 0x4d1f57
cmp eax, 5
je 0x4d1f20
jg 0x4d1300
cmp eax, 2
je 0x4d1fc0
jle 0x4d1850
cmp eax, 3
je 0x4d2010
cmp eax, 4
jne 0x4d15a0
movzx eax, word [ebp]
cmp ax, 0x4006
je 0x4d2a1f
cmp ax, 0x4014
je 0x4d2a1f
mov edx, 0x4014
lea ecx, [esp + 0x68]
mov word [ebp], dx
mov dword [esp], 0
call dword [0x54411c]
sub esp, 4
mov esi, eax
mov edi, edx
mov dword [esp], 8
mov ebx, 1
call fcn.004d5eb8
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [ebp + 8], eax
jmp 0x4d10b3
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x543ee4]
test eax, 0xfffffbff
mov ebx, eax
je 0x4d0cb7
cmp eax, 0x29
je 0x4d0cb7
lea ecx, [esp + 0x68]
call dword [0x54412c]
cmp ebx, eax
je 0x4d0cb7
mov dword [esp], ebx
lea ecx, [esp + 0x68]
call dword [0x544114]
sub esp, 4
test al, al
je 0x4d0fb0
mov dword [esp], ebx
lea ecx, [esp + 0x68]
call dword [0x543eec]
sub esp, 4
jmp 0x4d0cb7
lea eax, [esp + 0x88]
mov dword [esp], ebx
mov ecx, eax
mov dword [esp + 0x10], eax
call dword [0x543ef0]
sub esp, 4
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x98], eax
and edx, 0x3fffffff
mov eax, dword [esp + 0x6c]
mov ecx, edx
movzx edx, byte [esp + 0x73]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xa0]
and eax, 0xc0000000
or eax, ecx
mov ecx, edx
and edx, 0xffffff80
mov dword [esp + 0xa0], eax
shr eax, 0x18
and ecx, 0x40
and eax, 0x3f
or eax, ecx
mov ecx, dword [esp + 0x10]
or edx, eax
mov eax, dword [esp + 0x9c]
mov byte [esp + 0xa3], dl
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x88], edx
mov dword [esp + 0x90], eax
call dword [0x543f30]
jmp 0x4d0cb7
mov eax, dword [ebp + 8]
test eax, eax
je 0x4d0ccd
mov esi, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp], eax
call fcn.004d0c70
mov ebx, eax
lea ecx, [esp + 0x68]
call dword [0x543f30]
add esp, 0xbc
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 0x26
je 0x4d21e0
jle 0x4d15b0
cmp eax, 0x43
je 0x4d20e5
jg 0x4d13f0
cmp eax, 0x40
je 0x4d2040
cmp eax, 0x41
jne 0x4d15a0
cmp word [ebp], 0x4009
jne 0x4d0e10
mov esi, dword [ebp + 8]
mov eax, dword [esi]
test eax, eax
je 0x4d1123
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov esi, dword [ebp + 8]
sub esp, 4
lea ecx, [esp + 0x68]
call dword [0x544164]
cmp eax, 0x41
je 0x4d2f2c
lea ebx, [esp + 0x98]
mov edi, dword [0x544240]
mov ecx, ebx
call edi
mov dword [esp + 4], ebx
mov dword [esp], 0x41
lea ecx, [esp + 0x68]
call dword [0x544150]
sub esp, 8
test al, al
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
je 0x4d2c74
mov dword [esp], ebx
mov ecx, eax
call dword [0x54423c]
sub esp, 4
mov ecx, ebx
mov ebx, dword [0x544244]
call ebx
mov edi, dword [esp + 0x10]
mov eax, edi
call fcn.004cdf70
mov ecx, edi
mov dword [esi], eax
call ebx
mov ebx, 1
jmp 0x4d10b3
cmp eax, 0xa
je 0x4d1d43
jg 0x4d130f
cmp eax, 6
je 0x4d1b20
cmp eax, 9
jne 0x4d15a0
lea eax, [esp + 0x68]
lea ecx, [esp + 0x50]
mov dword [esp], eax
mov eax, dword [0x54413c]
mov dword [esp + 0x40], eax
call eax
sub esp, 4
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
mov eax, dword [esp + 0xd8]
mov eax, dword [eax]
mov dword [esp + 0x34], edx
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x4d2579
mov dword [esp + 0x3c], 0x29
lea eax, [esp + 0x78]
mov dword [esp + 0x20], eax
mov eax, 0xc
mov word [esp + 0x3a], ax
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x4d23c2
movzx eax, word [esp + 0x3a]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [0x54483c]
sub esp, 0xc
mov dword [esp + 0x10], eax
mov eax, esi
test al, al
movzx eax, word [esp + 0x3a]
je 0x4d2260
or ah, 0x60
cmp word [ebp], ax
je 0x4d28d7
movzx eax, word [esp + 0x3a]
or ah, 0x20
mov word [ebp], ax
mov eax, dword [esp + 0x10]
mov dword [ebp + 8], eax
mov dword [esp], 4
call fcn.004d5eb8
mov edx, dword [ebp + 8]
mov dword [eax], edx
or word [ebp], 0x4000
mov dword [ebp + 8], eax
lea ecx, [esp + 0x50]
mov ebx, 1
call fcn.004eb530
jmp 0x4d10b3
cmp eax, 0x22
je 0x4d1b50
jle 0x4d1900
cmp eax, 0x24
je 0x4d1c90
cmp eax, 0x25
jne 0x4d15a0
mov eax, 0x11
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], ax
mov dword [esp], 0
call dword [0x54414c]
sub esp, 4
mov byte [ebp + 8], al
jmp 0x4d10b3
cmp eax, 0xa
je 0x4d1e90
jle 0x4d18a1
cmp eax, 0xb
je 0x4d1672
cmp eax, 0xc
jne 0x4d15a0
lea eax, [esp + 0x68]
lea ecx, [esp + 0x88]
mov dword [esp], eax
call dword [0x544120]
sub esp, 4
mov eax, dword [esp + 0x88]
mov ebx, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], 0x11
mov dword [esp + 8], ebx
call dword [0x54483c]
sub esp, 0xc
test ebx, ebx
mov edi, eax
jne 0x4d2327
mov eax, esi
test al, al
je 0x4d2273
cmp word [ebp], 0x6011
je 0x4d28fa
mov eax, 0x2011
mov dword [ebp + 8], edi
mov word [ebp], ax
mov dword [esp], 4
call fcn.004d5eb8
mov edx, dword [ebp + 8]
mov dword [eax], edx
or word [ebp], 0x4000
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x88]
mov edx, dword [eax]
test edx, edx
je 0x4d13d0
cmp edx, 0xffffffff
je case.0x4d1849.0
lock sub dword [eax], 1
jne case.0x4d1849.0
mov eax, dword [esp + 0x88]
nop
lea esi, [esi]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x543d24]
jmp case.0x4d1849.0
cmp eax, 0x4a
je 0x4d17a0
cmp eax, 0x400
jne 0x4d15a0
lea ecx, [esp + 0x68]
mov ebx, dword [0x544160]
call ebx
mov dword [esp], eax
mov eax, dword [0x543d74]
lea ecx, [esp + 0x5c]
mov dword [esp + 4], 0xffffffff
mov dword [esp + 0x10], eax
call eax
sub esp, 8
lea ecx, [esp + 0x68]
call ebx
mov dword [esp + 4], str.IDispatch
mov dword [esp], eax
mov edi, dword [0x543d18]
call edi
test eax, eax
jne 0x4d237a
mov eax, esi
test al, al
je 0x4d229a
lea ecx, [esp + 0x68]
call ebx
lea ecx, [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [esp + 0x10]
sub esp, 8
lea eax, [esp + 0x88]
lea edx, [esp + 0x78]
call fcn.004ce420
lea eax, [esp + 0x60]
mov dword [esp + 0x98], 2
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov ecx, eax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x98]
mov dword [esp + 0xa8], 0x52e6f7
mov dword [esp], eax
call dword [0x544074]
sub esp, 4
mov eax, dword [esp + 0x60]
cmp dword [eax + 0x18], 1
jle 0x4d14e6
or dword [eax + 0x2c], 1
mov eax, dword [esp + 0x88]
mov dword [esp + 8], 0
mov ecx, dword [esp + 0x24]
mov edx, dword [eax + 4]
mov dword [esp + 4], edx
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x543e04]
sub esp, 0xc
mov ecx, dword [esp + 0x60]
cmp byte [ecx + 0x14], 0
je 0x4d1529
mov dword [esp], 0x20
call dword [0x543da8]
sub esp, 4
mov ecx, dword [esp + 0x24]
call dword [0x543e08]
mov eax, dword [esp + 0x88]
mov edx, dword [eax]
test edx, edx
je 0x4d2942
cmp edx, 0xffffffff
je 0x4d1553
lock sub dword [eax], 1
je 0x4d293b
mov eax, dword [esp + 0x78]
mov edx, dword [eax]
test edx, edx
je 0x4d291d
cmp edx, 0xffffffff
je 0x4d1570
lock sub dword [eax], 1
je 0x4d2919
xor ebx, ebx
mov dword [ebp + 8], 0
mov word [ebp], bx
mov eax, dword [esp + 0x5c]
mov edx, dword [eax]
test edx, edx
je 0x4d2727
cmp edx, 0xffffffff
je 0x4d15a0
lock sub dword [eax], 1
je 0x4d2723
lea esi, [esi]
xor ebx, ebx
jmp 0x4d10b3
cmp eax, 0x22
je 0x4d1960
jle 0x4d1dd1
cmp eax, 0x24
je 0x4d1e50
cmp eax, 0x25
jne 0x4d15a0
cmp word [ebp], 0x4011
je 0x4d2f09
mov eax, 0x4011
lea ecx, [esp + 0x68]
mov word [ebp], ax
mov dword [esp], 0
call dword [0x54414c]
sub esp, 4
mov ebx, eax
mov dword [esp], 1
call fcn.004d5eb8
mov byte [eax], bl
mov dword [ebp + 8], eax
jmp case.0x4d1849.0
mov edx, dword [esp + 0x98]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], edx
call dword [0x543d24]
jmp 0x4d0d59
cmp eax, 3
je 0x4d1b80
cmp eax, 4
jne 0x4d15a0
mov eax, 0x14
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], ax
mov dword [esp], 0
call dword [0x54411c]
sub esp, 4
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
jmp 0x4d10b3
lea eax, [esp + 0x88]
lea edi, [esp + 0x68]
mov ecx, eax
mov dword [esp + 0x10], eax
mov dword [esp], edi
call dword [0x544128]
sub esp, 4
mov eax, dword [esp + 0x88]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
mov dword [esp + 4], 0
mov dword [esp], 8
mov edi, edx
mov dword [esp + 0x20], edx
mov dword [esp + 8], edx
call dword [0x54483c]
sub esp, 0xc
test edi, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x98], 0
jle 0x4d19fb
mov edi, dword [0x544858]
mov dword [esp + 0x28], esi
xor eax, eax
lea ebx, [esp + 0x98]
mov dword [esp + 0xd4], ebp
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], edi
jmp 0x4d1726
cmp eax, 0xffffffff
je 0x4d170b
lock sub dword [edi], 1
je 0x4d1780
mov eax, dword [esp + 0x98]
add eax, 1
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x98], eax
jge 0x4d19f0
mov edx, dword [esp + 0x88]
add eax, dword [edx + 8]
mov edi, dword [edx + eax*4 + 0x10]
mov eax, dword [edi]
add eax, 1
cmp eax, 1
jbe 0x4d1742
lock add dword [edi], 1
mov eax, dword [edi + 4]
mov dword [esp + 4], eax
mov eax, dword [edi + 0xc]
add eax, edi
mov dword [esp], eax
call dword [0x544860]
sub esp, 8
mov ebp, eax
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [esp + 0x1c]
sub esp, 0xc
mov dword [esp], ebp
call dword [0x544864]
mov eax, dword [edi]
sub esp, 4
test eax, eax
jne 0x4d1700
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], edi
call dword [0x543d24]
jmp 0x4d170b
lea ecx, [esp + 0x68]
call dword [0x544164]
cmp eax, 0x4a
je 0x4d26d1
lea ebx, [esp + 0x98]
mov edi, dword [0x54422c]
mov ecx, ebx
call edi
mov dword [esp + 4], ebx
mov dword [esp], 0x4a
lea ecx, [esp + 0x68]
call dword [0x544150]
sub esp, 8
test al, al
je 0x4d26bd
mov eax, dword [esp + 0x98]
mov dword [esp + 0x98], 0
mov dword [esp + 0x88], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
mov ecx, ebx
mov ebx, dword [0x544230]
call ebx
mov ecx, dword [esp + 0x10]
call dword [0x5442b8]
mov ecx, dword [esp + 0x10]
mov edi, eax
call ebx
mov eax, esi
test al, al
je 0x4d2284
movzx eax, word [ebp]
test ah, 0x40
je 0x4d26ac
and eax, 0xbfff
cmp eax, 0x17
ja case.0x4d1849.0
jmp dword [eax*4 + 0x52e708]
test eax, eax
je 0x4d19b0
cmp eax, 1
jne 0x4d15a0
cmp word [ebp], 0x400b
je 0x4d2c7d
mov eax, 0x400b
lea ecx, [esp + 0x68]
mov word [ebp], ax
call dword [0x544134]
movzx ebx, al
mov dword [esp], 2
neg ebx
call fcn.004d5eb8
mov word [eax], bx
mov dword [ebp + 8], eax
mov ebx, 1
jmp 0x4d10b3
cmp eax, 6
jne 0x4d11bd
cmp word [ebp], 0x4005
je 0x4d2cca
mov eax, 0x4005
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], ax
mov dword [esp], 0
call dword [0x544158]
sub esp, 4
fstp qword [esp + 0x10]
mov dword [esp], 8
call fcn.004d5eb8
fld qword [esp + 0x10]
fstp qword [eax]
mov dword [ebp + 8], eax
jmp 0x4d10b3
cmp eax, 0x21
jne 0x4d15a0
mov eax, 2
lea ecx, [esp + 0x68]
mov word [ebp], ax
call dword [0x544164]
cmp eax, 0x21
je 0x4d2711
lea eax, [esp + 0x98]
mov dword [esp], 0x21
mov dword [esp + 4], eax
lea ecx, [esp + 0x68]
call dword [0x544150]
sub esp, 8
test al, al
mov eax, 0
cmovne ax, word [esp + 0x98]
jmp 0x4d0dcf
cmp word [ebp], 0x4010
je 0x4d2ced
mov eax, 0x4010
lea ecx, [esp + 0x68]
mov word [ebp], ax
mov dword [esp], 0
call dword [0x544130]
jmp 0x4d15f3
mov eax, dword [ebp + 8]
mov ebx, 1
mov dword [eax], edi
jmp 0x4d10b3
mov eax, dword [ebp + 8]
mov ebx, 1
mov word [eax], di
jmp 0x4d10b3
cmp word [ebp], 0x400a
je 0x4d2960
mov ecx, 0xa
mov dword [ebp + 8], 0x80020004
mov word [ebp], cx
mov dword [esp], 4
call fcn.004d5eb8
mov edx, dword [ebp + 8]
mov dword [eax], edx
mov dword [ebp + 8], eax
or word [ebp], 0x4000
jmp case.0x4d1849.0
mov ebp, dword [esp + 0xd4]
mov esi, dword [esp + 0x28]
mov eax, esi
test al, al
je 0x4d2245
cmp word [ebp], 0x6008
je 0x4d28b4
mov eax, 0x2008
mov word [ebp], ax
mov eax, dword [esp + 0x24]
mov dword [ebp + 8], eax
mov dword [esp], 4
call fcn.004d5eb8
mov edx, dword [ebp + 8]
mov dword [eax], edx
or word [ebp], 0x4000
mov dword [ebp + 8], eax
mov ecx, dword [esp + 0x10]
mov ebx, 1
call fcn.004eb180
jmp 0x4d10b3
mov edi, 0x15
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], di
mov dword [esp], 0
call dword [0x544124]
sub esp, 4
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
jmp 0x4d10b3
mov ebx, 4
lea ecx, [esp + 0x68]
mov word [ebp], bx
mov dword [esp], 0
mov ebx, 1
call dword [0x544158]
sub esp, 4
fstp dword [ebp + 8]
jmp 0x4d10b3
mov eax, 7
lea ecx, [esp + 0x98]
mov word [ebp], ax
lea eax, [esp + 0x68]
mov dword [esp], eax
call dword [0x544118]
sub esp, 4
lea eax, [esp + 0x98]
call fcn.004ce100
lea ecx, [esp + 0x98]
fstp qword [ebp + 8]
call dword [0x543f4c]
jmp case.0x4d1849.0
mov eax, 3
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], ax
mov dword [esp], 0
call dword [0x544130]
sub esp, 4
mov dword [ebp + 8], eax
jmp 0x4d10b3
mov ecx, 5
mov ebx, 1
mov word [ebp], cx
mov dword [esp], 0
lea ecx, [esp + 0x68]
call dword [0x544158]
sub esp, 4
fstp qword [ebp + 8]
jmp 0x4d10b3
mov edx, 0x10
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], dx
mov dword [esp], 0
call dword [0x544130]
sub esp, 4
mov byte [ebp + 8], al
jmp 0x4d10b3
mov eax, 0x13
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], ax
mov dword [esp], 0
call dword [0x54414c]
sub esp, 4
mov dword [ebp + 8], eax
jmp 0x4d10b3
mov edx, 3
lea ecx, [esp + 0x68]
mov word [ebp], dx
call dword [0x544164]
cmp eax, 0x43
je 0x4d2973
lea ebx, [esp + 0x98]
mov esi, dword [0x544214]
mov ecx, ebx
call esi
mov dword [esp + 4], ebx
mov dword [esp], 0x43
lea ecx, [esp + 0x68]
call dword [0x544150]
sub esp, 8
test al, al
je 0x4d27a3
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x90], eax
movzx eax, word [esp + 0xa4]
mov word [esp + 0x94], ax
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x10]
mov ecx, edi
call dword [0x5442ac]
mov ecx, edi
mov esi, eax
call dword [0x5442b4]
mov ecx, edi
mov ebx, eax
call dword [0x5442b0]
movzx eax, al
shl ebx, 8
shl eax, 0x10
mov edx, eax
movzx eax, bx
mov ebx, 1
or eax, edx
mov edx, esi
movzx esi, dl
or eax, esi
mov dword [ebp + 8], eax
jmp 0x4d10b3
mov eax, 0x12
lea ecx, [esp + 0x68]
mov word [ebp], ax
call dword [0x544164]
cmp eax, 0x24
je 0x4d2711
lea eax, [esp + 0x98]
mov dword [esp], 0x24
mov dword [esp + 4], eax
jmp 0x4d1937
mov edi, 9
lea ecx, [esp + 0x68]
mov word [ebp], di
call dword [0x544164]
cmp eax, 0x40
je 0x4d2775
lea ebx, [esp + 0x98]
mov edi, dword [0x5441fc]
mov ecx, ebx
call edi
mov dword [esp + 4], ebx
mov dword [esp], 0x40
lea ecx, [esp + 0x68]
call dword [0x544150]
sub esp, 8
test al, al
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
je 0x4d22f9
mov dword [esp], ebx
mov ecx, eax
call dword [0x5441f8]
sub esp, 4
mov ecx, ebx
mov ebx, dword [0x544200]
call ebx
mov edi, dword [esp + 0x10]
mov eax, edi
call fcn.004ce300
jmp 0x4d0e8b
mov eax, 8
lea ecx, [esp + 0x98]
mov word [ebp], ax
lea eax, [esp + 0x68]
mov dword [esp], eax
call dword [0x54415c]
sub esp, 4
mov eax, dword [esp + 0x98]
mov edx, dword [eax + 4]
mov dword [esp + 4], edx
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x544860]
sub esp, 8
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x98]
mov edx, dword [eax]
test edx, edx
je 0x4d2309
cmp edx, 0xffffffff
je 0x4d1da3
lock sub dword [eax], 1
je 0x4d2302
mov eax, esi
test al, al
je case.0x4d1849.0
mov dword [esp], 4
mov ebx, 1
call fcn.004d5eb8
mov edx, dword [ebp + 8]
mov dword [eax], edx
mov dword [ebp + 8], eax
or word [ebp], 0x4000
jmp 0x4d10b3
cmp eax, 0x21
jne 0x4d15a0
cmp word [ebp], 0x4002
je 0x4d2dbe
mov edi, 0x4002
lea ecx, [esp + 0x68]
mov word [ebp], di
call dword [0x544164]
cmp eax, 0x21
je 0x4d26ff
lea eax, [esp + 0x98]
mov dword [esp], 0x21
mov dword [esp + 4], eax
lea ecx, [esp + 0x68]
mov ebx, 0
call dword [0x544150]
sub esp, 8
test al, al
cmovne bx, word [esp + 0x98]
mov dword [esp], 2
call fcn.004d5eb8
mov word [eax], bx
mov dword [ebp + 8], eax
mov ebx, 1
jmp 0x4d10b3
cmp word [ebp], 0x4012
je 0x4d2d51
mov esi, 0x4012
lea ecx, [esp + 0x68]
mov word [ebp], si
call dword [0x544164]
cmp eax, 0x24
je 0x4d26ff
lea eax, [esp + 0x98]
mov dword [esp], 0x24
mov dword [esp + 4], eax
jmp 0x4d1e14
cmp word [ebp], 0x4008
jne 0x4d1d43
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x4d1eb4
mov dword [esp], eax
call dword [0x544864]
mov ebx, dword [ebp + 8]
sub esp, 4
lea eax, [esp + 0x68]
lea ecx, [esp + 0x98]
mov dword [esp], eax
call dword [0x54415c]
sub esp, 4
mov eax, dword [esp + 0x98]
mov edx, dword [eax + 4]
mov dword [esp + 4], edx
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x544860]
sub esp, 8
mov dword [ebx], eax
mov eax, dword [esp + 0x98]
mov edx, dword [eax]
test edx, edx
je 0x4d2c56
cmp edx, 0xffffffff
je 0x4d1f0a
lock sub dword [eax], 1
je 0x4d2c4f
mov eax, 0x4008
mov ebx, 1
mov word [ebp], ax
jmp 0x4d10b3
movzx eax, word [ebp]
cmp ax, 0x4006
je 0x4d29f9
cmp ax, 0x4015
je 0x4d29f9
mov eax, 0x4015
lea ecx, [esp + 0x68]
mov word [ebp], ax
mov dword [esp], 0
call dword [0x544124]
jmp 0x4d0f2e
cmp word [ebp], 0x4007
je 0x4d2e10
mov eax, 0x4007
lea ecx, [esp + 0x98]
mov ebx, 1
mov word [ebp], ax
lea eax, [esp + 0x68]
mov dword [esp], eax
call dword [0x544118]
sub esp, 4
lea eax, [esp + 0x98]
call fcn.004ce100
fstp qword [esp + 0x10]
mov dword [esp], 8
call fcn.004d5eb8
fld qword [esp + 0x10]
lea ecx, [esp + 0x98]
fstp qword [eax]
mov dword [ebp + 8], eax
call dword [0x543f4c]
jmp 0x4d10b3
cmp word [ebp], 0x4003
je 0x4d2d33
mov ebx, 0x4003
lea ecx, [esp + 0x68]
mov word [ebp], bx
mov dword [esp], 0
call dword [0x544130]
sub esp, 4
mov ebx, eax
mov dword [esp], 4
call fcn.004d5eb8
mov dword [eax], ebx
mov dword [ebp + 8], eax
mov ebx, 1
jmp 0x4d10b3
cmp word [ebp], 0x4013
je 0x4d2d10
mov ecx, 0x4013
mov word [ebp], cx
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x54414c]
jmp 0x4d1fe6
cmp word [ebp], 0x4009
jne 0x4d1cc3
mov esi, dword [ebp + 8]
mov eax, dword [esi]
test eax, eax
je 0x4d2063
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov esi, dword [ebp + 8]
sub esp, 4
lea ecx, [esp + 0x68]
call dword [0x544164]
cmp eax, 0x40
je 0x4d2f5a
lea ebx, [esp + 0x98]
mov edi, dword [0x5441fc]
mov ecx, ebx
call edi
mov dword [esp + 4], ebx
mov dword [esp], 0x40
lea ecx, [esp + 0x68]
call dword [0x544150]
sub esp, 8
test al, al
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
je 0x4d2c46
mov dword [esp], ebx
mov ecx, eax
call dword [0x5441f8]
sub esp, 4
mov ecx, ebx
mov ebx, dword [0x544200]
call ebx
mov edi, dword [esp + 0x10]
mov eax, edi
call fcn.004ce300
mov ecx, edi
mov dword [esi], eax
call ebx
mov ebx, 1
jmp 0x4d10b3
cmp word [ebp], 0x4003
je 0x4d2e4f
mov eax, 0x4003
lea ecx, [esp + 0x68]
mov word [ebp], ax
call dword [0x544164]
cmp eax, 0x43
je 0x4d29b6
lea ebx, [esp + 0x98]
mov esi, dword [0x544214]
mov ecx, ebx
call esi
mov dword [esp + 4], ebx
mov dword [esp], 0x43
lea ecx, [esp + 0x68]
call dword [0x544150]
sub esp, 8
test al, al
je 0x4d27b7
mov eax, dword [esp + 0x98]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x90], eax
movzx eax, word [esp + 0xa4]
mov word [esp + 0x94], ax
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x10]
mov ecx, edi
call dword [0x5442ac]
mov ecx, edi
mov esi, eax
call dword [0x5442b4]
mov ecx, edi
mov ebx, eax
call dword [0x5442b0]
mov dword [esp], 4
mov edi, eax
shl ebx, 8
call fcn.004d5eb8
mov edx, edi
movzx edi, dl
movzx edx, bx
mov ebx, 1
shl edi, 0x10
or edi, edx
mov edx, esi
movzx esi, dl
or edi, esi
mov dword [eax], edi
mov dword [ebp + 8], eax
jmp 0x4d10b3
cmp word [ebp], 0x4004
je 0x4d2d9b
mov eax, 0x4004
lea ecx, [esp + 0x68]
mov ebx, 1
mov word [ebp], ax
mov dword [esp], 0
call dword [0x544158]
sub esp, 4
fstp qword [esp + 0x10]
mov dword [esp], 4
call fcn.004d5eb8
fld qword [esp + 0x10]
fstp dword [eax]
mov dword [ebp + 8], eax
jmp 0x4d10b3
mov ebx, 0xa
mov dword [ebp + 8], 0x80020004
mov word [ebp], bx
jmp case.0x4d1849.0
mov eax, 0x2008
mov word [ebp], ax
mov eax, dword [esp + 0x24]
mov dword [ebp + 8], eax
jmp 0x4d1a3b
or ah, 0x20
mov word [ebp], ax
mov eax, dword [esp + 0x10]
mov dword [ebp + 8], eax
jmp 0x4d1295
mov esi, 0x2011
mov dword [ebp + 8], edi
mov word [ebp], si
jmp 0x4d13a4
mov eax, 3
mov dword [ebp + 8], edi
mov ebx, 1
mov word [ebp], ax
jmp 0x4d10b3
mov eax, 9
mov word [ebp], ax
lea ecx, [esp + 0x68]
call dword [0x543ee8]
mov eax, dword [eax]
test eax, eax
mov dword [ebp + 8], eax
je 0x4d22c1
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 4]
sub esp, 4
mov eax, dword [esp + 0x5c]
mov edx, dword [eax]
test edx, edx
je 0x4d13d0
cmp edx, 0xffffffff
je case.0x4d1849.0
lock sub dword [eax], 1
jne case.0x4d1849.0
mov eax, dword [esp + 0x5c]
jmp 0x4d13d0
mov ecx, eax
call edi
jmp 0x4d0e76
mov ecx, eax
call edi
jmp 0x4d1d29
mov eax, dword [esp + 0x98]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4d1da3
mov eax, dword [esp + 0x88]
mov edx, dword [eax + 0xc]
mov dword [esp], edi
add edx, eax
lea eax, [esp + 0x98]
mov dword [esp + 0x10], edx
mov dword [esp + 4], eax
call dword [0x544834]
sub esp, 8
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x98]
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004d5f80
mov dword [esp], edi
call dword [0x54485c]
sub esp, 4
jmp 0x4d1368
lea ecx, [esp + 0x68]
call ebx
mov dword [esp + 4], 0x52e60b
mov dword [esp], eax
call edi
test eax, eax
jne 0x4d27cb
mov edi, 9
lea ecx, [esp + 0x68]
mov word [ebp], di
call dword [0x543ee8]
mov eax, dword [eax]
mov dword [ebp + 8], eax
mov eax, esi
test al, al
je 0x4d22c1
or word [ebp], 0x4000
jmp 0x4d22c1
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x54]
mov edx, dword [eax + 8]
mov eax, dword [eax + edx*4 + 0x10]
mov dword [esp], eax
call dword [esp + 0x40]
sub esp, 4
mov eax, dword [esp + 0x54]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
mov dword [esp + 0x44], edx
jne 0x4d2a45
lea ecx, [esp + 0x54]
call fcn.004eb530
movzx eax, word [esp + 0x3a]
mov ebx, dword [esp + 0x34]
mov dword [esp + 4], 0
mov dword [esp + 8], ebx
mov dword [esp], eax
call dword [0x54483c]
sub esp, 0xc
test ebx, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x60], 0
jle 0x4d124c
mov eax, dword [0x544870]
lea edx, [esp + 0x88]
lea ecx, [esp + 0x78]
mov dword [esp + 0xd4], ebp
mov dword [esp + 0x40], esi
lea ebx, [esp + 0x98]
mov ebp, dword [esp + 0x3c]
mov esi, ecx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], eax
mov eax, dword [0x544160]
mov edi, edx
mov dword [esp + 0x28], eax
mov eax, dword [0x543d74]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x24], eax
mov eax, dword [0x544858]
mov dword [esp + 0x1c], eax
xor eax, eax
jmp 0x4d24e2
cmp edx, 0xffffffff
je 0x4d249f
lock sub dword [eax], 1
je 0x4d30f7
mov eax, dword [esp + 0x20]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10]
mov dword [esp], eax
call dword [esp + 0x1c]
sub esp, 0xc
mov dword [esp], esi
call fcn.004d5350
mov ecx, ebx
call dword [0x543f30]
mov eax, dword [esp + 0x60]
add eax, 1
cmp dword [esp + 0x34], eax
mov dword [esp + 0x60], eax
jle 0x4d269c
mov edx, dword [esp + 0x50]
mov ecx, ebx
add eax, dword [edx + 8]
mov eax, dword [edx + eax*4 + 0x10]
mov dword [esp], eax
call dword [esp + 0x3c]
sub esp, 4
cmp ebp, 0x29
je 0x4d250c
mov dword [esp], ebp
mov ecx, ebx
call dword [0x543eec]
sub esp, 4
mov dword [esp], esi
call dword [esp + 0x2c]
sub esp, 4
mov ecx, ebx
mov eax, dword [esp + 0x28]
call eax
mov ecx, edi
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [esp + 0x30]
sub esp, 8
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.004d0c70
mov eax, dword [esp + 0x88]
mov edx, dword [eax]
test edx, edx
jne 0x4d2490
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4d249f
mov dword [esp], str.QList_
mov ecx, dword [esp + 0xd8]
call dword [0x543fc4]
sub esp, 4
test al, al
je 0x4d1201
mov eax, dword [esp + 0xd8]
lea ebx, [esp + 0x98]
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 + 0xd8]
mov dword [esp], eax
call dword [0x543fd0]
sub esp, 0xc
mov eax, dword [esp + 0x98]
add eax, dword [eax + 0xc]
mov dword [esp], eax
call dword [0x543ee4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x98]
mov edx, dword [eax]
test edx, edx
je 0x4d2c9e
cmp edx, 0xffffffff
je 0x4d2606
lock sub dword [eax], 1
je 0x4d2c97
mov eax, dword [esp + 0x3c]
cmp eax, 0x10
ja case.0x4d2613.0
jmp dword [eax*4 + 0x52e768]
lea eax, [esp + 0x80]
mov dword [esp + 0x20], eax
mov eax, 7
mov word [esp + 0x3a], ax
jmp 0x4d121b
lea eax, [esp + 0x80]
mov edx, 5
mov word [esp + 0x3a], dx
mov dword [esp + 0x20], eax
jmp 0x4d121b
lea eax, [esp + 0x80]
mov dword [esp + 0x20], eax
mov eax, 0x14
mov word [esp + 0x3a], ax
jmp 0x4d121b
lea eax, [esp + 0x80]
mov dword [esp + 0x20], eax
mov eax, 0xb
mov word [esp + 0x3a], ax
jmp 0x4d121b
lea eax, [esp + 0x80]
mov dword [esp + 0x20], eax
mov eax, 3
mov word [esp + 0x3a], ax
jmp 0x4d121b
mov ebp, dword [esp + 0xd4]
mov esi, dword [esp + 0x40]
jmp 0x4d124c
mov eax, 3
mov dword [ebp + 8], edi
mov word [ebp], ax
jmp 0x4d19cc
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
mov ecx, eax
call edi
jmp 0x4d1808
lea edi, [esp + 0x88]
lea ecx, [esp + 0x68]
call dword [0x544168]
mov dword [esp + 0x10], edi
mov dword [esp], eax
mov ecx, edi
call dword [0x544228]
mov ebx, dword [0x544230]
sub esp, 4
jmp 0x4d1812
lea ecx, [esp + 0x68]
call dword [0x544168]
movzx ebx, word [eax]
jmp 0x4d1e31
lea ecx, [esp + 0x68]
call dword [0x544168]
movzx eax, word [eax]
jmp 0x4d0dcf
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
xor ebx, ebx
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4d10b3
lea edi, [esp + 0x88]
lea ecx, [esp + 0x68]
call dword [0x544168]
mov dword [esp + 0x10], edi
mov dword [esp], eax
mov ecx, edi
call dword [0x54423c]
mov ebx, dword [0x544244]
sub esp, 4
jmp 0x4d0e80
lea edi, [esp + 0x88]
lea ecx, [esp + 0x68]
call dword [0x544168]
mov dword [esp + 0x10], edi
mov dword [esp], eax
mov ecx, edi
call dword [0x5441f8]
mov ebx, dword [0x544200]
sub esp, 4
jmp 0x4d1d33
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
mov ecx, eax
call esi
jmp 0x4d1c42
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
mov ecx, eax
call esi
jmp 0x4d2183
lea ecx, [esp + 0x68]
call ebx
mov dword [esp + 4], str.IUnknown
mov dword [esp], eax
call edi
test eax, eax
jne 0x4d2f88
mov eax, esi
test al, al
je 0x4d2cbc
lea esi, [esp + 0x78]
lea ecx, [esp + 0x68]
call ebx
mov ebx, esi
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
mov ecx, esi
call dword [esp + 0x10]
sub esp, 8
mov edx, esi
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
call fcn.004ce420
lea eax, [esp + 0x60]
mov dword [esp + 0x98], 2
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov ecx, eax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x98]
mov dword [esp + 0xa8], 0x52e6f7
mov dword [esp], eax
call dword [0x544074]
sub esp, 4
mov eax, dword [esp + 0x60]
cmp dword [eax + 0x18], 1
jle 0x4d2884
or dword [eax + 0x2c], 1
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov dword [esp], esi
mov ecx, edi
call fcn.004eb780
mov ecx, edi
sub esp, 4
call dword [0x543e08]
mov ecx, esi
call fcn.004d6670
mov ecx, ebx
call fcn.004d6670
jmp 0x4d1570
mov eax, dword [ebp + 8]
mov edx, dword [eax]
test edx, edx
je 0x4d28cc
mov dword [esp], edx
call dword [0x544840]
mov eax, dword [ebp + 8]
sub esp, 4
mov esi, dword [esp + 0x24]
mov dword [eax], esi
jmp 0x4d1a3b
mov eax, dword [ebp + 8]
mov edx, dword [eax]
test edx, edx
je 0x4d28ef
mov dword [esp], edx
call dword [0x544840]
mov eax, dword [ebp + 8]
sub esp, 4
mov esi, dword [esp + 0x10]
mov dword [eax], esi
jmp 0x4d1295
mov eax, dword [ebp + 8]
mov edx, dword [eax]
test edx, edx
je 0x4d2912
mov dword [esp], edx
call dword [0x544840]
mov eax, dword [ebp + 8]
sub esp, 4
mov dword [eax], edi
jmp 0x4d13a4
mov eax, dword [esp + 0x78]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4d1570
mov eax, dword [esp + 0x88]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4d1553
mov eax, dword [ebp + 8]
mov ebx, 1
mov dword [eax], 0x80020004
jmp 0x4d10b3
lea ecx, [esp + 0x68]
call dword [0x544168]
mov edx, dword [eax]
mov dword [esp + 0x88], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x8c], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x90], edx
movzx eax, word [eax + 0xc]
mov word [esp + 0x94], ax
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
jmp 0x4d1c42
lea ecx, [esp + 0x68]
call dword [0x544168]
mov edx, dword [eax]
mov dword [esp + 0x88], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x8c], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x90], edx
movzx eax, word [eax + 0xc]
mov word [esp + 0x94], ax
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
jmp 0x4d2183
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x544124]
sub esp, 4
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, 1
jmp 0x4d10b3
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x54411c]
sub esp, 4
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, 1
jmp 0x4d10b3
mov ebx, dword [esp + 0x34]
lea eax, [esp + 0x98]
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 2
mov dword [esp + 0x98], ebx
mov dword [esp], 0xc
call dword [0x544838]
sub esp, 0xc
test ebx, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], 0
jle 0x4d2c38
mov dword [esp + 0xd4], ebp
mov dword [esp + 0x48], esi
mov dword [esp + 0x30], edi
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x58]
mov dword [esp + 0x60], edx
add edx, dword [eax + 8]
mov eax, dword [eax + edx*4 + 0x10]
mov dword [esp], eax
call dword [esp + 0x40]
sub esp, 4
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x44]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
sub ecx, edx
cmp ecx, esi
cmovg ecx, esi
test ecx, ecx
mov dword [esp + 0x1c], ecx
jle 0x4d2c11
mov esi, dword [0x544870]
mov edi, dword [0x543d74]
xor ebx, ebx
mov ecx, dword [0x544858]
mov ebp, dword [0x544160]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edi
lea esi, [esp + 0x5c]
lea edi, [esp + 0x60]
mov dword [esp + 0x24], ecx
jmp 0x4d2b7f
cmp edx, 0xffffffff
je 0x4d2b34
lock sub dword [eax], 1
je 0x4d3103
mov eax, dword [esp + 0x20]
mov dword [esp + 0x64], ebx
add ebx, 1
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
mov dword [esp], eax
call dword [esp + 0x24]
sub esp, 0xc
lea eax, [esp + 0x78]
mov dword [esp], eax
call fcn.004d5350
lea ecx, [esp + 0x88]
call dword [0x543f30]
cmp ebx, dword [esp + 0x1c]
je 0x4d2c11
mov eax, dword [esp + 0x58]
mov edx, dword [eax + 8]
lea edx, [edx + ebx + 4]
lea ecx, [esp + 0x88]
mov eax, dword [eax + edx*4]
mov dword [esp], eax
call dword [esp + 0x30]
sub esp, 4
lea eax, [esp + 0x78]
mov dword [esp], eax
call dword [esp + 0x2c]
sub esp, 4
lea ecx, [esp + 0x88]
call ebp
mov ecx, esi
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [esp + 0x28]
sub esp, 8
lea eax, [esp + 0x78]
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], eax
lea eax, [esp + 0x88]
mov dword [esp], eax
call fcn.004d0c70
mov eax, dword [esp + 0x5c]
mov edx, dword [eax]
test edx, edx
jne 0x4d2b25
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4d2b34
lea ecx, [esp + 0x58]
call fcn.004eb530
add dword [esp + 0x3c], 1
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jne 0x4d2ab3
mov ebp, dword [esp + 0xd4]
mov esi, dword [esp + 0x48]
lea ecx, [esp + 0x54]
call fcn.004eb530
jmp 0x4d124c
mov ecx, eax
call edi
jmp 0x4d20c0
mov eax, dword [esp + 0x98]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4d1f0a
mov ecx, eax
call edi
jmp 0x4d1180
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
call dword [0x544134]
movzx eax, al
neg eax
mov word [ebx], ax
jmp case.0x4d1849.0
mov eax, dword [esp + 0x98]
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [0x543d24]
jmp 0x4d2606
mov ecx, 0xd
mov word [ebp], cx
jmp 0x4d22a3
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x544158]
sub esp, 4
fstp qword [ebx]
mov ebx, 1
jmp 0x4d10b3
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x544130]
sub esp, 4
mov byte [ebx], al
mov ebx, 1
jmp 0x4d10b3
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x54414c]
sub esp, 4
mov dword [ebx], eax
mov ebx, 1
jmp 0x4d10b3
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x544130]
sub esp, 4
mov dword [ebx], eax
jmp case.0x4d1849.0
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
call dword [0x544164]
cmp eax, 0x24
je 0x4d30e5
lea eax, [esp + 0x98]
mov dword [esp], 0x24
lea ecx, [esp + 0x68]
mov dword [esp + 4], eax
call dword [0x544150]
sub esp, 8
test al, al
mov eax, 0
cmovne ax, word [esp + 0x98]
jmp 0x4d2c8f
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x544158]
sub esp, 4
fstp dword [ebx]
mov ebx, 1
jmp 0x4d10b3
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
call dword [0x544164]
cmp eax, 0x21
je 0x4d30d3
lea eax, [esp + 0x98]
mov dword [esp], 0x21
lea ecx, [esp + 0x68]
mov dword [esp + 4], eax
call dword [0x544150]
sub esp, 8
test al, al
mov eax, 0
cmovne ax, word [esp + 0x98]
mov word [ebx], ax
mov ebx, 1
jmp 0x4d10b3
lea eax, [esp + 0x68]
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x98]
mov dword [esp], eax
call dword [0x544118]
sub esp, 4
lea eax, [esp + 0x98]
call fcn.004ce100
lea ecx, [esp + 0x98]
fstp qword [ebx]
mov ebx, 1
call dword [0x543f4c]
jmp 0x4d10b3
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
call dword [0x544164]
cmp eax, 0x43
je 0x4d309f
lea edi, [esp + 0x98]
mov esi, dword [0x544214]
mov ecx, edi
call esi
mov dword [esp + 4], edi
mov dword [esp], 0x43
lea ecx, [esp + 0x68]
call dword [0x544150]
sub esp, 8
test al, al
je 0x4d2fbf
mov eax, dword [esp + 0x98]
lea edi, [esp + 0x8c]
lea esi, [esp + 0x9c]
mov ecx, 0xa
mov dword [esp + 0x88], eax
lea eax, [esp + 0x88]
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x10], eax
mov ebp, dword [esp + 0x10]
mov ecx, ebp
call dword [0x5442ac]
mov ecx, ebp
mov edi, eax
call dword [0x5442b4]
mov ecx, ebp
mov esi, eax
call dword [0x5442b0]
movzx eax, al
shl eax, 0x10
mov edx, eax
mov eax, esi
shl eax, 8
movzx eax, ax
or eax, edx
mov edx, edi
movzx edi, dl
or eax, edi
mov dword [ebx], eax
mov ebx, 1
jmp 0x4d10b3
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x68]
mov dword [esp], 0
call dword [0x54414c]
sub esp, 4
mov byte [ebx], al
mov ebx, 1
jmp 0x4d10b3
lea edi, [esp + 0x88]
lea ecx, [esp + 0x68]
call dword [0x544168]
mov dword [esp + 0x10], edi
mov dword [esp], eax
mov ecx, edi
call dword [0x54423c]
mov ebx, dword [0x544244]
sub esp, 4
jmp 0x4d118a
lea edi, [esp + 0x88]
lea ecx, [esp + 0x68]
call dword [0x544168]
mov dword [esp + 0x10], edi
mov dword [esp], eax
mov ecx, edi
call dword [0x5441f8]
mov ebx, dword [0x544200]
sub esp, 4
jmp 0x4d20ca
lea eax, [esp + 0x5c]
mov dword [esp], eax
call dword [0x543fa8]
test eax, eax
je 0x4d157d
mov eax, esi
test al, al
je 0x4d2fd3
lea eax, [esp + 0x78]
mov dword [esp + 4], 0xffffffff
mov dword [esp], str.subtype
mov esi, eax
mov ebx, eax
jmp 0x4d2807
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
mov ecx, eax
call esi
jmp 0x4d2ec4
lea ecx, [esp + 0x68]
call dword [0x544168]
mov ecx, dword [eax]
mov eax, dword [0x52fc14]
mov word [ebp], 9
mov dword [esp + 0x98], eax
movzx eax, word [0x52fc18]
add ecx, 8
mov word [esp + 0x9c], ax
movzx eax, word [0x52fc1a]
mov word [esp + 0x9e], ax
movzx eax, byte [0x52fc1c]
mov byte [esp + 0xa0], al
movzx eax, byte [0x52fc1d]
mov byte [esp + 0xa1], al
movzx eax, byte [0x52fc1e]
mov byte [esp + 0xa2], al
movzx eax, byte [0x52fc1f]
mov byte [esp + 0xa3], al
movzx eax, byte [0x52fc20]
mov byte [esp + 0xa4], al
movzx eax, byte [0x52fc21]
mov byte [esp + 0xa5], al
movzx eax, byte [0x52fc22]
mov byte [esp + 0xa6], al
movzx eax, byte [0x52fc23]
mov byte [esp + 0xa7], al
lea eax, [ebp + 8]
mov dword [esp + 4], eax
lea eax, [esp + 0x98]
mov dword [esp], eax
call fcn.004bc6b0
push edx
push edx
jmp 0x4d22c1
lea ecx, [esp + 0x68]
lea edi, [esp + 0x8c]
call dword [0x544168]
mov edx, dword [eax]
lea esi, [eax + 4]
lea eax, [esp + 0x88]
mov ecx, 0xa
mov dword [esp + 0x88], edx
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x10], eax
jmp 0x4d2ec4
lea ecx, [esp + 0x68]
call dword [0x544168]
movzx eax, word [eax]
jmp 0x4d2e03
lea ecx, [esp + 0x68]
call dword [0x544168]
movzx eax, word [eax]
jmp 0x4d2c8f
mov eax, dword [esp + 0x88]
jmp 0x4d255b
mov eax, dword [esp + 0x5c]
jmp 0x4d2bf3