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

Disassembly:
push 0xffffffffffffffff
push 0x542a62
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5b4
push ebx
push ebp
push edi
mov ebp, ecx
push 1
call fcn.005175a6
mov edi, eax
mov eax, dword [0x58f614]
mov dword [esp + 0x20], eax
xor ecx, ecx
lea edx, [esp + 0x10]
mov dword [esp + 0x10], ecx
lea eax, [esp + 0x60]
push ecx
push ecx
push edx
mov dword [esp + 0x20], ecx
push ecx
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x70]
push ecx
mov ecx, dword [ebp + 0x40]
lea eax, [esp + 0x38]
push edx
push eax
push ecx
mov ecx, ebp
mov dword [esp + 0x5ec], 0
call fcn.004d3e10
mov ebx, eax
mov eax, dword [esp + 0x5c]
test eax, eax
mov dword [esp + 0x1c], ebx
jne 0x4d1b0d
push 0x30
call dword [sym.imp.USER32.dll_MessageBeep]
lea ecx, [esp + 0x20]
mov dword [esp + 0x5c8], 0xffffffff
call fcn.00514336
jmp 0x4d2846
mov eax, dword [ebp + 0x1c]
lea edx, [esp + 0x64]
push esi
push edx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, ebp
lea esi, [ebp + 0x13c]
call fcn.004d2ed0
mov ecx, dword [esp + 0x68]
push esi
add eax, ecx
mov ecx, dword [ebp + 0x98]
mov dword [esi], eax
mov eax, dword [ebp + 0x40]
sub eax, edi
lea edx, [ecx + 5]
imul eax, edx
mov edx, dword [esp + 0x74]
mov dword [ebp + 0x140], eax
lea eax, [eax + ecx + 5]
mov ecx, ebp
mov dword [ebp + 0x144], edx
mov dword [ebp + 0x148], eax
call fcn.0051cf18
lea eax, [ebx - 0x3e8]
cmp eax, 0x18
ja case.0x4d1b74.1001
jmp dword [eax*4 + 0x4d2860]
cmp dword [esp + 0x5d4], 1
jne case.0x4d1b74.1001
lea edi, [ebp + 0x9c]
mov ecx, edi
call fcn.00435210
mov eax, dword [ebp + 0x154]
lea esi, [ebp + 0x14c]
push 0x56c87c
push eax
mov ecx, esi
call fcn.00513185
mov eax, dword [esi + 8]
push 0x56c878
push eax
mov ecx, esi
call fcn.00513185
jmp 0x4d1d55
mov eax, dword [ebp + 0x3c]
test eax, eax
je case.0x4d1b74.1001
mov eax, dword [esp + 0x5d4]
test eax, eax
je case.0x4d1b74.1001
lea ecx, [ebp + 0x9c]
mov dword [esp + 0x1c], ecx
call fcn.00435210
mov ecx, dword [ebp + 0x3c]
xor edi, edi
mov edx, dword [ecx + 0x4c]
mov eax, dword [edx]
mov dword [esp + 0x20], eax
mov ecx, dword [ebp + 0x3c]
mov eax, edi
push 0
push eax
mov ecx, dword [ecx + 0x4c]
inc edi
add ecx, 0x14
call fcn.004cfc50
mov esi, eax
test esi, esi
je 0x4d1c62
mov edx, dword [esi]
mov ecx, dword [esp + 0x20]
push 0
push edx
call fcn.0044e840
test eax, eax
je 0x4d1bfb
mov eax, dword [eax + 0x14]
cmp ebx, 0x3fb
jne 0x4d1c37
shr eax, 0x12
jmp 0x4d1c3a
shr eax, 0x13
and eax, 1
test eax, eax
je 0x4d1bfb
mov eax, dword [ebp + 0x3c]
push esi
mov ecx, dword [eax + 0x4c]
add ecx, 0x14
mov edx, dword [ecx]
call dword [edx + 0x14]
lea ecx, [ebp + 0x14c]
push eax
mov eax, dword [ecx + 8]
push eax
call fcn.00513185
jmp 0x4d1bfb
mov esi, dword [esp + 0x1c]
push ebp
push 0x104
mov ecx, esi
call fcn.00514a53
push 5
mov ecx, esi
call fcn.005156aa
jmp case.0x4d1b74.1001
mov eax, dword [ebp + 0x3c]
test eax, eax
je case.0x4d1b74.1001
mov eax, dword [esp + 0x5d4]
test eax, eax
je case.0x4d1b74.1001
mov ecx, dword [ebp + 0x90]
and ecx, 0xfffffffc
cmp ecx, 4
jne case.0x4d1b74.1001
lea edi, [ebp + 0x9c]
mov ecx, edi
mov dword [esp + 0x1c], edi
call fcn.00435210
mov edx, dword [ebp + 0x88]
mov ecx, dword [ebp + 0x3c]
push 0
push 0
mov eax, dword [edx]
mov ecx, dword [ecx + 0x4c]
push eax
add ecx, 0x14
call fcn.004cfd40
lea esi, [eax + 0x18]
push esi
call fcn.00471ab0
add esi, eax
push esi
call fcn.00471ab0
add esi, eax
add esp, 8
lea edx, [esp + 0x1dc]
mov esi, dword [esi]
mov byte [esp + 0x1dc], 0
push 0x3e8
push edx
mov eax, dword [esi + 0x1c]
push 0x8074
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov al, byte [esp + 0x1dc]
lea esi, [esp + 0x1dc]
test al, al
je 0x4d1d55
lea ebx, [ebp + 0x14c]
mov eax, dword [ebx + 8]
push esi
push eax
mov ecx, ebx
call fcn.00513185
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov al, byte [esi + ecx + 1]
lea esi, [esi + ecx + 1]
test al, al
jne 0x4d1d2d
mov edi, dword [esp + 0x1c]
push ebp
push 0x104
mov ecx, edi
call fcn.00514a53
push 5
mov ecx, edi
call fcn.005156aa
jmp case.0x4d1b74.1001
mov eax, dword [ebp + 0x3c]
test eax, eax
je case.0x4d1b74.1001
mov eax, dword [esp + 0x5d4]
test eax, eax
je case.0x4d1b74.1001
mov ecx, dword [ebp + 0x90]
and ecx, 0xfffffffc
cmp ecx, 4
jne case.0x4d1b74.1001
lea ebx, [ebp + 0x9c]
mov ecx, ebx
mov dword [esp + 0x1c], ebx
call fcn.00435210
mov edx, dword [ebp + 0x88]
mov ecx, dword [ebp + 0x3c]
push 0
push 0
mov eax, dword [edx]
mov ecx, dword [ecx + 0x4c]
push eax
add ecx, 0x14
call fcn.004cfd40
lea esi, [eax + 0x18]
push esi
call fcn.00471ab0
add esi, eax
push esi
call fcn.00471ab0
add esi, eax
add esp, 8
mov esi, dword [esi]
push 0
push 0
push 0x8070
mov edx, dword [esi + 0x1c]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push edx
call esi
mov edi, eax
test edi, edi
je 0x4d1e4b
push 0
push 0
push 0x8071
push edi
call esi
xor esi, esi
mov dword [esp + 0x20], eax
test eax, eax
jle 0x4d1e4b
lea ebx, [ebp + 0x14c]
lea eax, [esp + 0x2c]
mov byte [esp + 0x2c], 0
push eax
push esi
push 0x8072
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebx + 8]
lea ecx, [esp + 0x2c]
push ecx
push eax
mov ecx, ebx
call fcn.00513185
mov eax, dword [esp + 0x20]
inc esi
cmp esi, eax
jl 0x4d1e17
mov ebx, dword [esp + 0x1c]
push ebp
push 0x104
mov ecx, ebx
call fcn.00514a53
push 5
mov ecx, ebx
call fcn.005156aa
jmp case.0x4d1b74.1001
cmp ebx, 0x3f0
jne 0x4d1e7c
cmp dword [esp + 0x5d4], 1
jne case.0x4d1b74.1001
mov eax, dword [esp + 0x28]
test eax, eax
je case.0x4d1b74.1001
mov esi, dword [eax + 0x10]
test esi, esi
je case.0x4d1b74.1001
lea ebx, [ebp + 0x9c]
mov ecx, ebx
mov dword [esp + 0x1c], ebx
call fcn.00435210
mov edx, dword [0x58f614]
mov dword [esp + 0x10], edx
mov al, byte [esi]
xor edi, edi
test al, al
mov byte [esp + 0x5cc], 1
je 0x4d1f78
lea ebx, [ebp + 0x14c]
mov eax, dword [esp + 0x20]
cmp eax, 0x3ee
jne 0x4d1f02
lea ecx, [esp + 0x2c]
mov eax, edi
push ecx
push eax
inc edi
call fcn.004dc070
add esp, 8
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x14]
call fcn.00514473
push 0x584f14
lea ecx, [esp + 0x14]
call fcn.005146c6
jmp 0x4d1f46
cmp eax, 0x3e8
jne 0x4d1f3d
push esi
call fcn.004ffcfa
push esi
mov edi, eax
call fcn.00471ab0
add esp, 8
lea ecx, [ebp + 0x160]
add esi, eax
push edi
call fcn.00470df0
lea eax, [esp + 0x2c]
push eax
push edi
call fcn.004dc070
add esp, 8
lea ecx, [esp + 0x2c]
push ecx
jmp 0x4d1ee9
lea ecx, [esp + 0x10]
call fcn.005142c1
push esi
lea ecx, [esp + 0x14]
call fcn.005146c6
mov eax, dword [ebx + 8]
lea edx, [esp + 0x10]
push edx
push eax
mov ecx, ebx
call fcn.005131b1
push esi
call fcn.00471ab0
add esi, eax
add esp, 4
cmp byte [esi], 0
jne 0x4d1ec8
mov ebx, dword [esp + 0x1c]
push ebp
push 0x104
mov ecx, ebx
call fcn.00514a53
push 5
mov ecx, ebx
call fcn.005156aa
mov byte [esp + 0x5cc], 0
lea ecx, [esp + 0x10]
jmp 0x4d282c
lea ecx, [ebp + 0x9c]
mov dword [esp + 0x1c], ecx
call fcn.00435210
mov eax, dword [0x58f614]
mov dword [esp + 0x10], eax
mov byte [esp + 0x5cc], 2
xor edi, edi
lea ebx, [ebp + 0x14c]
mov esi, 0x58adb0
lea ecx, [esp + 0x2c]
push ecx
push edi
call fcn.004dc070
add esp, 8
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x10]
push edx
call fcn.00514473
push 0x584f14
lea ecx, [esp + 0x14]
call fcn.005146c6
mov eax, dword [esi + 4]
lea ecx, [esp + 0x10]
push eax
call fcn.005146c6
mov eax, dword [ebx + 8]
lea ecx, [esp + 0x10]
push ecx
push eax
mov ecx, ebx
call fcn.005131b1
mov eax, dword [esi]
lea ecx, [ebp + 0x160]
push eax
call fcn.00470df0
add esi, 8
inc edi
cmp esi, 0x58ae30
jl 0x4d1fcc
mov esi, dword [esp + 0x1c]
push ebp
push 0x104
mov ecx, esi
call fcn.00514a53
push 5
mov ecx, esi
call fcn.005156aa
mov byte [esp + 0x5cc], 0
lea ecx, [esp + 0x10]
jmp 0x4d282c
lea ecx, [esp + 0x2c]
call fcn.00470b30
mov eax, dword [esp + 0x14]
mov byte [esp + 0x5cc], 3
test eax, eax
mov ebx, 0x3c
je 0x4d207f
cmp dword [esp + 0x18], ebx
jne 0x4d207f
push ebx
jmp 0x4d209f
lea edx, [esp + 0x1a0]
push edx
push ebx
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
push ebx
lea eax, [esp + 0x1a4]
push eax
lea ecx, [esp + 0x34]
call fcn.004713f0
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
neg eax
sbb eax, eax
push 0
and eax, edx
push 0
push 0x101
push eax
lea ecx, [esp + 0x88]
call fcn.005117b0
lea ecx, [esp + 0x78]
mov byte [esp + 0x5cc], 4
call fcn.0051188c
cmp eax, 1
jne 0x4d2137
lea ecx, [esp + 0x1a0]
push ecx
lea ecx, [esp + 0x7c]
call fcn.005118d4
cmp dword [esp + 0x18], ebx
jne 0x4d2118
mov esi, dword [esp + 0x14]
mov ecx, 0xf
lea edi, [esp + 0x1a0]
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
mov eax, edx
setne al
cmp eax, 1
jne 0x4d2137
mov edx, dword [ebp + 0x40]
lea ecx, [esp + 0x14]
lea eax, [esp + 0x1a0]
push ecx
push edx
mov ecx, ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ebx
call fcn.004d54e0
lea ecx, [esp + 0x78]
mov byte [esp + 0x5cc], 3
call fcn.00514a15
lea ecx, [esp + 0x2c]
mov byte [esp + 0x5cc], 0
mov dword [esp + 0x2c], 0x5477b0
call fcn.00470d30
jmp case.0x4d1b74.1001
cmp ebx, 0x3f9
jne 0x4d2175
mov edi, 0x57f72c
jmp 0x4d2188
xor eax, eax
cmp ebx, 0x3f7
setne al
dec eax
and eax, 0x57f738
mov edi, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x4d2198
or eax, 0xffffffff
jmp 0x4d21a1
push eax
call fcn.004ffcfa
add esp, 4
mov ecx, dword [ebp + 0x148]
mov edx, dword [esi]
push 0x57f504
push edi
push ebp
push eax
push ecx
push edx
mov ecx, 0x591f10
call fcn.0045b020
jmp case.0x4d1b74.1001
cmp dword [esp + 0x5d4], 1
jne case.0x4d1b74.1001
push 0
lea ecx, [esp + 0x7c]
call fcn.00443cf0
mov eax, dword [esp + 0x18]
mov byte [esp + 0x5cc], 5
test eax, eax
mov esi, eax
jle 0x4d21ff
push eax
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x190]
call fcn.004713f0
lea ecx, [esp + 0x78]
call fcn.00514ddf
cmp eax, 1
jne 0x4d2253
mov eax, dword [esp + 0x198]
mov edx, dword [esp + 0x190]
cmp eax, esi
jne 0x4d2233
mov esi, dword [esp + 0x14]
mov edi, eax
neg edi
sbb edi, edi
mov ecx, eax
and edi, edx
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x4d2253
mov ecx, eax
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x40]
neg ecx
sbb ecx, ecx
and ecx, edx
lea edx, [esp + 0x14]
mov dword [esp + 0x14], ecx
push edx
push eax
mov ecx, ebp
call fcn.004d54e0
lea ecx, [esp + 0x188]
mov byte [esp + 0x5cc], 9
mov dword [esp + 0x188], 0x5477b0
call fcn.00470d30
lea ecx, [esp + 0x14c]
mov byte [esp + 0x5cc], 8
call fcn.0052903c
lea ecx, [esp + 0x110]
mov byte [esp + 0x5cc], 7
call fcn.0052903c
lea ecx, [esp + 0xd4]
mov byte [esp + 0x5cc], 6
call fcn.0052903c
lea ecx, [esp + 0x78]
mov byte [esp + 0x5cc], 0
call fcn.00514a15
jmp case.0x4d1b74.1001
cmp dword [esp + 0x5d4], 1
jne case.0x4d1b74.1001
mov ecx, dword [0x58f614]
mov dword [esp + 0x10], ecx
push 0
push 0
push 0
push 0x580b64
lea edx, [esp + 0x20]
push 0x580b50
mov bl, 0xa
push edx
push 0
mov ecx, 0x591f10
mov byte [esp + 0x5e8], bl
call fcn.004331e0
cmp eax, 1
jne 0x4d23b3
lea ecx, [esp + 0x2c]
call fcn.00470b30
lea eax, [esp + 0x10]
mov byte [esp + 0x5cc], 0xb
push eax
call fcn.004da530
add esp, 4
test eax, eax
jne 0x4d234f
mov ecx, dword [esp + 0x10]
push ecx
call dword [0x592768]
test eax, eax
jne 0x4d234f
push 0x58afb0
call fcn.004d9bb0
add esp, 4
jmp 0x4d239b
lea edx, [esp + 0x10]
push 0xffffffffffffffff
push edx
lea ecx, [esp + 0x34]
call fcn.004710f0
cmp eax, 0xffffffff
jne 0x4d2373
push 0x58af94
call fcn.004d9bb0
add esp, 4
jmp 0x4d239b
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
mov ecx, eax
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x40]
lea edx, [esp + 0x14]
neg ecx
sbb ecx, ecx
push edx
and ecx, edi
push eax
mov dword [esp + 0x1c], ecx
mov ecx, ebp
call fcn.004d54e0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x5cc], bl
mov dword [esp + 0x2c], 0x5477b0
call fcn.00470d30
mov byte [esp + 0x5cc], 0
lea ecx, [esp + 0x10]
jmp 0x4d282c
mov ecx, dword [esp + 0x5d4]
mov eax, 1
cmp ecx, eax
jne case.0x4d1b74.1001
mov ecx, dword [ebp + 0x90]
and ecx, 0xfffffffc
cmp ecx, 4
jne case.0x4d1b74.1001
cmp dword [ebp + 0x74], eax
jne case.0x4d1b74.1001
mov edx, dword [ebp + 0x40]
push 0
push edx
mov ecx, ebp
call fcn.004d54e0
jmp case.0x4d1b74.1001
cmp dword [esp + 0x5d4], 1
jne case.0x4d1b74.1001
mov eax, dword [0x58f614]
mov dword [esp + 0x10], eax
push 0
push 0
push 0x580d10
push 0x580cf8
lea ecx, [esp + 0x20]
push 0x580ce4
mov bl, 0xc
push ecx
push 0
mov ecx, 0x591f10
mov byte [esp + 0x5e8], bl
call fcn.004331e0
cmp eax, 1
jne 0x4d24e6
lea ecx, [esp + 0x2c]
call fcn.00470b30
mov edx, dword [esp + 0x10]
mov byte [esp + 0x5cc], 0xd
push edx
call dword [0x592734]
cmp eax, 3
je 0x4d2482
push 0x58af7c
call fcn.004d9bb0
add esp, 4
jmp 0x4d24ce
lea eax, [esp + 0x10]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x34]
call fcn.004710f0
cmp eax, 0xffffffff
jne 0x4d24a6
push 0x58af60
call fcn.004d9bb0
add esp, 4
jmp 0x4d24ce
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
mov ecx, eax
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x40]
lea edx, [esp + 0x14]
neg ecx
sbb ecx, ecx
push edx
and ecx, edi
push eax
mov dword [esp + 0x1c], ecx
mov ecx, ebp
call fcn.004d54e0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x5cc], bl
mov dword [esp + 0x2c], 0x5477b0
call fcn.00470d30
mov byte [esp + 0x5cc], 0
lea ecx, [esp + 0x10]
jmp 0x4d282c
cmp dword [esp + 0x5d4], 1
jne case.0x4d1b74.1001
push 0
lea ecx, [esp + 0x7c]
call fcn.0043c040
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
push edx
lea ecx, [esp + 0xdc]
mov byte [esp + 0x5d4], 0xe
call fcn.004713f0
lea ecx, [esp + 0x78]
call fcn.00514ddf
cmp eax, 1
jne 0x4d256a
mov eax, dword [esp + 0xe4]
mov edi, dword [esp + 0xdc]
mov ecx, eax
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x40]
lea edx, [esp + 0x14]
neg ecx
sbb ecx, ecx
push edx
and ecx, edi
push eax
mov dword [esp + 0x1c], ecx
mov ecx, ebp
call fcn.004d54e0
lea ecx, [esp + 0x124]
mov byte [esp + 0x5cc], 0x11
call fcn.00512385
lea ecx, [esp + 0xe8]
mov byte [esp + 0x5cc], 0x10
call fcn.00511d7e
lea ecx, [esp + 0xd4]
mov byte [esp + 0x5cc], 0xf
mov dword [esp + 0xd4], 0x5477b0
call fcn.00470d30
lea ecx, [esp + 0x78]
mov byte [esp + 0x5cc], 0
call fcn.00514a15
jmp case.0x4d1b74.1001
mov eax, dword [ebp + 0x3c]
test eax, eax
je case.0x4d1b74.1001
mov ecx, dword [esp + 0x5d4]
test ecx, ecx
je case.0x4d1b74.1001
mov ecx, dword [ebp + 0x90]
shr ecx, 2
cmp ecx, 1
jl case.0x4d1b74.1001
mov edx, dword [ebp + 0x88]
push 0
push 0
mov ecx, dword [edx]
push ecx
mov ecx, dword [eax + 0x4c]
add ecx, 0x14
call fcn.004cfd40
lea esi, [eax + 0x18]
push esi
call fcn.00471ab0
add esi, eax
push esi
call fcn.00471ab0
add esi, eax
add esp, 8
lea edx, [esp + 0x1dc]
mov esi, dword [esi]
mov byte [esp + 0x1dc], 0
push 0x3e8
push edx
mov eax, dword [esi + 0x1c]
push 0x8073
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov al, byte [esp + 0x1dc]
test al, al
je case.0x4d1b74.1001
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4d2677
lea ecx, [esp + 0x1dc]
push ecx
push eax
call fcn.004ff41d
add esp, 8
test eax, eax
je case.0x4d1b74.1001
mov ecx, dword [ebp + 0x40]
lea eax, [esp + 0x14]
push eax
lea edx, [esp + 0x1e0]
push ecx
mov ecx, ebp
mov dword [esp + 0x1c], edx
call fcn.004d54e0
jmp case.0x4d1b74.1001
cmp dword [esp + 0x5d4], 1
jne case.0x4d1b74.1001
push 0
lea ecx, [esp + 0x7c]
call fcn.00440f00
mov eax, dword [esp + 0x14]
mov byte [esp + 0x5cc], 0x12
test eax, eax
je 0x4d26cd
push eax
lea ecx, [esp + 0x114]
call fcn.00514473
lea ecx, [esp + 0x78]
call fcn.00514ddf
cmp eax, 1
jne 0x4d2713
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4d26f8
mov edx, dword [esp + 0x110]
push edx
push eax
call fcn.004ff36e
add esp, 8
test eax, eax
je 0x4d2713
mov edx, dword [ebp + 0x40]
mov eax, dword [esp + 0x110]
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], eax
push ecx
push edx
mov ecx, ebp
call fcn.004d54e0
lea ecx, [esp + 0x110]
mov byte [esp + 0x5cc], 0x14
call fcn.00514336
lea ecx, [esp + 0xd4]
mov byte [esp + 0x5cc], 0x13
call fcn.0052935b
lea ecx, [esp + 0x78]
mov byte [esp + 0x5cc], 0
call fcn.00514a15
jmp case.0x4d1b74.1001
cmp dword [esp + 0x5d4], 1
jne case.0x4d1b74.1001
mov eax, dword [esp + 0x28]
test eax, eax
je case.0x4d1b74.1001
mov esi, dword [eax + 0x10]
xor edi, edi
xor ebx, ebx
cmp esi, edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], edi
je 0x4d27b9
push esi
mov dword [esp + 0x24], esi
call fcn.00471ab0
add esi, eax
add esp, 4
cmp byte [esi], 0
je 0x4d27b9
push esi
mov dword [esp + 0x20], esi
call fcn.00471ab0
add esi, eax
add esp, 4
cmp byte [esi], 0
je 0x4d27b9
push esi
mov edi, esi
call fcn.00471ab0
add esi, eax
add esp, 4
cmp byte [esi], 0x31
sete bl
mov eax, dword [0x58f614]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
push 0
push ebx
push edi
push ecx
lea eax, [esp + 0x20]
push edx
push eax
push 0
mov ecx, 0x591f10
mov byte [esp + 0x5e8], 0x15
call fcn.004331e0
cmp eax, 1
jne 0x4d2820
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4d2808
mov ecx, dword [esp + 0x10]
push ecx
push eax
call fcn.004ff41d
add esp, 8
test eax, eax
je 0x4d2820
mov ecx, dword [ebp + 0x40]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], edx
push eax
push ecx
mov ecx, ebp
call fcn.004d54e0
mov byte [esp + 0x5cc], 0
lea ecx, [esp + 0x10]
call fcn.00514336
lea ecx, [esp + 0x24]
mov dword [esp + 0x5cc], 0xffffffff
call fcn.00514336
pop esi
mov ecx, dword [esp + 0x5c0]
pop edi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x5c0
ret 4