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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x7c
mov esi, ecx
mov eax, dword [0x567b10]
xor eax, esp
mov dword [esp + 0x78], eax
cmp dword [ecx + 0x250], 0
mov dword [esp], ecx
je 0x4d00eb
mov bl, 1
cmp dword [esi + 0x264], 0
jne 0x4d00ff
mov eax, dword [esi + 0x268]
xor ebx, ebx
cmp eax, dword [esi + 0x26c]
jne 0x4d01ea
mov ecx, dword [esi + 0x2d0]
test ecx, ecx
je 0x4d01ea
mov eax, dword [esi + 0x2cc]
lea ecx, [ecx + ecx*4]
cmp byte [eax + ecx*4 - 0xc], 0
je 0x4d01ea
lea eax, [eax + ecx*4]
mov eax, dword [eax - 0x10]
mov edi, dword [esi + 0x18]
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe0], 0x3b1
lea eax, [edi + 0xc4]
cmp dword [edi + 0xd8], 0x10
jb 0x4d014b
mov eax, dword [eax]
mov dword [edi + 0xd4], 0
mov byte [eax], 0
mov byte [edi + 0xe4], 0
mov dword [edi + 0x20c], 0
mov eax, dword [edi + 0x278]
test eax, eax
je 0x4d02fa
mov ebx, dword [edi + 0x274]
imul esi, eax, 0x34
jmp 0x4d01b8
push ebp
push ecx
call fcn.00533ac0
add esp, 8
mov dword [ebx + esi - 0xc], 0
mov dword [ebx + esi - 8], 0xf
mov byte [ebx + esi - 0x1c], 0
add esi, 0xffffffcc
je 0x4d02fa
mov eax, dword [ebx + esi - 8]
cmp eax, 0x10
jb 0x4d019a
mov ecx, dword [ebx + esi - 0x1c]
lea ebp, [eax + 1]
cmp ebp, 0x1000
jb 0x4d0190
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4d156f
add eax, 0x24
mov ebp, eax
mov ecx, edx
jmp 0x4d0190
mov ecx, dword [esi + 0x254]
test ecx, ecx
mov dword [esp + 8], ebx
je 0x4d0202
cmp byte [ecx + 0x14], 0
je 0x4d07f4
mov dl, byte [esp + 0x94]
mov eax, dword [esi + 0x1d0]
test eax, eax
je 0x4d03f3
test dl, dl
jne 0x4d03f3
mov ecx, dword [esi + 0x250]
test ecx, ecx
je 0x4d0236
cmp byte [ecx + 0x220], 0
jne 0x4d03f3
mov edi, dword [esi + 0x18]
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe0], 0x386
lea eax, [edi + 0xc4]
cmp dword [edi + 0xd8], 0x10
jb 0x4d025a
mov eax, dword [eax]
mov dword [edi + 0xd4], 0
mov byte [eax], 0
mov byte [edi + 0xe4], 0
mov dword [edi + 0x20c], 0
mov eax, dword [edi + 0x278]
test eax, eax
je 0x4d03be
mov ebx, dword [edi + 0x274]
imul esi, eax, 0x34
jmp 0x4d02c8
push ebp
push ecx
call fcn.00533ac0
add esp, 8
mov dword [ebx + esi - 0xc], 0
mov dword [ebx + esi - 8], 0xf
mov byte [ebx + esi - 0x1c], 0
add esi, 0xffffffcc
je 0x4d03be
mov eax, dword [ebx + esi - 8]
cmp eax, 0x10
jb 0x4d02aa
mov ecx, dword [ebx + esi - 0x1c]
lea ebp, [eax + 1]
cmp ebp, 0x1000
jb 0x4d02a0
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4d156f
add eax, 0x24
mov ebp, eax
mov ecx, edx
jmp 0x4d02a0
mov dword [edi + 0x278], 0
mov ecx, edi
push 0
call fcn.0045a620
mov esi, dword [esp]
mov ecx, esi
push 1
call fcn.004d1580
mov edi, eax
xorps xmm0, xmm0
mov eax, dword [esp + 0x90]
movups xmmword [eax], xmm0
mov eax, dword [esi + 0x250]
mov ebx, dword [eax + 0x54]
mov ecx, dword [eax + 0x58]
cmp ecx, ebx
je 0x4d0365
mov dl, byte [ecx - 1]
cmp dl, 0xd
je 0x4d0345
cmp dl, 0xa
jne 0x4d0365
lea esi, [ecx - 1]
cmp esi, ebx
je 0x4d0367
mov dh, byte [ecx - 2]
cmp dh, 0xd
je 0x4d035d
cmp dh, 0xa
jne 0x4d0b91
add ecx, 0xfffffffe
cmp dh, dl
cmove ecx, esi
mov ebx, ecx
mov dword [eax + 0x224], ebx
mov eax, dword [esp]
mov esi, dword [eax + 0x250]
mov eax, ebx
sub eax, dword [esi + 0x224]
mov ebp, dword [esp + 0x90]
mov dword [ebp + 4], eax
lea edx, [esp + 0x44]
mov ecx, esi
push eax
push dword [esi + 0x224]
push edx
call fcn.004ba760
mov eax, dword [esp + 0x44]
mov dword [ebp], eax
mov word [ebp + 0xc], 0x181
mov dword [esi + 0x224], ebx
mov eax, dword [ebp]
mov dword [ebp + 4], eax
mov dword [ebp + 8], edi
mov bl, 1
jmp 0x4d103c
mov dword [edi + 0x278], 0
mov ecx, edi
push 0
call fcn.0045a620
mov esi, dword [esp]
mov dword [esi + 0x1cc], 0
mov dword [esi + 0x1d0], 0
mov ebx, dword [esp + 8]
mov dl, byte [esp + 0x94]
mov eax, dword [esi + 0x1d4]
test eax, eax
je 0x4d0501
test dl, dl
jne 0x4d0501
mov ecx, dword [esi + 0x250]
test ecx, ecx
je 0x4d0420
cmp byte [ecx + 0x220], 0
jne 0x4d0501
mov edi, dword [esi + 0x18]
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe0], 0x387
lea eax, [edi + 0xc4]
cmp dword [edi + 0xd8], 0x10
jb 0x4d0444
mov eax, dword [eax]
mov dword [edi + 0xd4], 0
mov byte [eax], 0
mov byte [edi + 0xe4], 0
mov dword [edi + 0x20c], 0
mov eax, dword [edi + 0x278]
test eax, eax
je 0x4d04d6
mov ebx, dword [edi + 0x274]
imul esi, eax, 0x34
jmp 0x4d04a4
push ebp
push ecx
call fcn.00533ac0
add esp, 8
mov dword [ebx + esi - 0xc], 0
mov dword [ebx + esi - 8], 0xf
mov byte [ebx + esi - 0x1c], 0
add esi, 0xffffffcc
je 0x4d04d6
mov eax, dword [ebx + esi - 8]
cmp eax, 0x10
jb 0x4d048a
mov ecx, dword [ebx + esi - 0x1c]
lea ebp, [eax + 1]
cmp ebp, 0x1000
jb 0x4d0480
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4d156f
add eax, 0x24
mov ebp, eax
mov ecx, edx
jmp 0x4d0480
mov dword [edi + 0x278], 0
mov ecx, edi
push 0
call fcn.0045a620
mov esi, dword [esp]
mov dword [esi + 0x1d4], 0
mov ebx, dword [esp + 8]
mov dl, byte [esp + 0x94]
mov eax, dword [esi + 0x268]
cmp eax, dword [esi + 0x26c]
je 0x4d062a
cmp dword [esi + 0x18c], 0
je 0x4d05d2
mov eax, dword [esi + 0x254]
test eax, eax
je 0x4d05d2
mov ecx, dword [esi + 0x2c]
mov edx, dword [eax + 8]
mov byte [esp + 0x44], 0
lea eax, [edx + 1]
cmp eax, 2
jae 0x4d0922
mov dl, byte [esp + 0x94]
xor eax, eax
cmp eax, dword [esi + 0x198]
jne 0x4d05d2
xorps xmm0, xmm0
mov ebx, dword [esp + 0x90]
movups xmmword [ebx], xmm0
mov edi, dword [esi + 0x250]
mov esi, dword [edi + 0x58]
mov eax, esi
sub eax, dword [edi + 0x224]
mov dword [ebx + 4], eax
lea edx, [esp + 0x44]
mov ecx, edi
push eax
push dword [edi + 0x224]
push edx
call fcn.004ba760
mov eax, dword [esp + 0x44]
mov dword [ebx], eax
mov word [ebx + 0xc], 1
mov dword [edi + 0x224], esi
mov esi, dword [esp]
mov ecx, dword [esi + 0x250]
mov dword [esi + 0x250], 0
test ecx, ecx
je 0x4d05ba
mov eax, dword [ecx]
push 1
call dword [eax + 4]
mov dword [esi + 0x254], 0
mov ecx, esi
call fcn.004c49c0
mov bl, 1
jmp 0x4d103c
xor ecx, ecx
mov eax, 0
test dl, dl
jne 0x4d0ddf
mov eax, dword [esi + 0x254]
test eax, eax
je 0x4d0ddb
mov ecx, dword [esi + 0x2c]
mov edx, dword [eax + 8]
mov byte [esp + 0x44], 0
lea eax, [edx + 1]
cmp eax, 2
jae 0x4d0b2e
mov eax, dword [esi + 0x54c]
test eax, eax
je 0x4d0dc1
mov edx, dword [esi + 0x254]
mov ecx, dword [edx + 8]
cmp ecx, eax
je 0x4d0da7
jmp 0x4d0dd4
mov eax, dword [esi + 0x250]
mov dword [esp + 4], 0
mov esi, dword [eax + 0x54]
mov eax, dword [eax + 0x58]
cmp eax, esi
je 0x4d066f
mov cl, byte [eax - 1]
cmp cl, 0xd
je 0x4d064f
cmp cl, 0xa
jne 0x4d066f
lea edx, [eax - 1]
cmp edx, esi
je 0x4d0671
mov ch, byte [eax - 2]
cmp ch, 0xd
je 0x4d0667
cmp ch, 0xa
jne 0x4d0b40
add eax, 0xfffffffe
cmp ch, cl
cmove eax, edx
mov esi, eax
xorps xmm0, xmm0
mov ebx, dword [esp + 0x90]
movups xmmword [ebx], xmm0
mov ebp, dword [esp]
mov eax, dword [ebp + 0x250]
mov dword [eax + 0x224], esi
mov edi, dword [ebp + 0x250]
mov eax, esi
sub eax, dword [edi + 0x224]
mov dword [ebx + 4], eax
lea edx, [esp + 0x44]
mov ecx, edi
push eax
push dword [edi + 0x224]
push edx
call fcn.004ba760
mov eax, dword [esp + 0x44]
mov dword [ebx], eax
mov word [ebx + 0xc], 1
mov dword [edi + 0x224], esi
mov esi, ebp
cmp dword [ebp + 0x18c], 0
je 0x4d06e9
mov eax, dword [esi + 0x250]
mov eax, dword [eax + 0x5c]
cmp eax, dword [esi + 0x198]
jne 0x4d06e9
mov eax, dword [esp + 0x90]
add dword [eax], 0xffffffff
mov ecx, esi
call fcn.004c4d10
xor al, 1
mov ecx, dword [esp + 4]
or cl, al
jne 0x4d08e9
mov eax, dword [esi + 0x250]
mov eax, dword [eax + 0x5c]
mov edi, dword [esi + 0x18]
mov dword [edi + 0xdc], eax
mov dword [edi + 0xe0], 0x3bb
lea eax, [edi + 0xc4]
cmp dword [edi + 0xd8], 0x10
jb 0x4d072b
mov eax, dword [eax]
mov dword [edi + 0xd4], 0
mov byte [eax], 0
lea eax, [edi + 0xe4]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], edi
mov word [esp + 0x50], 1
mov byte [edi + 0xe4], 0
mov dword [edi + 0x20c], 0
mov eax, dword [edi + 0x278]
test eax, eax
je 0x4d07d6
mov ebx, dword [edi + 0x274]
imul esi, eax, 0x34
jmp 0x4d07a4
push ebp
push ecx
call fcn.00533ac0
add esp, 8
mov dword [ebx + esi - 0xc], 0
mov dword [ebx + esi - 8], 0xf
mov byte [ebx + esi - 0x1c], 0
add esi, 0xffffffcc
je 0x4d07d6
mov eax, dword [ebx + esi - 8]
cmp eax, 0x10
jb 0x4d078a
mov ecx, dword [ebx + esi - 0x1c]
lea ebp, [eax + 1]
cmp ebp, 0x1000
jb 0x4d0780
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4d156f
add eax, 0x24
mov ebp, eax
mov ecx, edx
jmp 0x4d0780
mov dword [edi + 0x278], 0
mov esi, dword [esp]
mov eax, dword [esi + 0x10]
mov edx, dword [eax + 0x38]
cmp dword [eax + 0x3c], 0xf
jbe 0x4d084f
mov eax, dword [eax + 0x28]
jmp 0x4d0852
mov ebp, dword [ecx + 0x18]
test ebp, ebp
je 0x4d0202
call fcn.004c4890
test eax, eax
je 0x4d0202
mov edi, eax
mov ecx, dword [esi + 0x34]
push eax
call fcn.0050c180
mov dword [eax + 0xc], ebp
test byte [ebp + 3], 1
je 0x4d0bb6
lea eax, [esp + 0x20]
mov ecx, esi
push ebp
push eax
call fcn.004c6200
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
cmp ecx, 3
ja 0x4d0b98
test eax, eax
jne 0x4d0ba0
jmp 0x4d0bb6
add eax, 0x28
lea ecx, [esp + 0x44]
push edx
push eax
call fcn.004545a0
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x4d0872
mov ecx, dword [esp + 0x48]
call fcn.00454700
mov dword [esp + 0x44], eax
movzx ecx, byte [eax]
mov byte [eax + ecx + 1], 2
mov eax, dword [esp + 0x44]
movzx ecx, byte [eax]
mov edx, ecx
add dl, 1
mov byte [eax], dl
mov dword [eax + ecx*4 + 0xc], 0
cmp byte [esp + 0x50], 0
je 0x4d08b5
mov ecx, dword [esp + 0x4c]
movzx eax, byte [esp + 0x51]
push eax
call fcn.0045a620
mov dword [esp + 0x4c], 0
mov word [esp + 0x50], 0
mov edi, dword [esp + 0x44]
test edi, edi
je 0x4d08e9
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4d08e9
cmp eax, edi
ja 0x4d0934
lea ecx, [eax + 0x2d40]
cmp ecx, edi
jb 0x4d0934
mov ecx, dword [eax + 0x2d80]
lea edx, [ecx + 1]
mov dword [eax + 0x2d80], edx
mov dword [eax + ecx*4 + 0x2d40], edi
cmp byte [esi + 0x180], 0
jne 0x4d094d
mov ecx, dword [esi + 0x250]
mov dword [esi + 0x250], 0
test ecx, ecx
je 0x4d0916
mov eax, dword [ecx]
push 1
call dword [eax + 4]
cmp byte [esi + 0x180], 0
jne 0x4d094d
mov dword [esi + 0x254], 0
jmp 0x4d094d
test edx, edx
js 0x4d0b47
add ecx, 0x6c
mov eax, edx
jmp 0x4d0b6b
mov ecx, edi
call fcn.00454310
push edi
call fcn.00533f45
add esp, 4
cmp byte [esi + 0x180], 0
je 0x4d08f2
cmp dword [esi + 0x184], 0
je 0x4d09d2
mov ecx, esi
call fcn.004c4c00
mov bl, 1
test eax, eax
je 0x4d103c
lea esi, [esp + 0x50]
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 4
lea edx, [esp + 0x44]
mov ecx, eax
call fcn.004d1c30
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x4d09b9
shl ebx, 2
xor ebp, ebp
mov esi, dword [esp]
nop
mov ecx, esi
push dword [edi + ebp]
call fcn.004cf720
add ebp, 4
cmp ebx, ebp
jne 0x4d09a0
mov edi, dword [esp + 0x44]
lea esi, [esp + 0x50]
cmp edi, esi
mov bl, 1
je 0x4d103c
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x4d103c
mov eax, dword [esi + 0x450]
xor ecx, ecx
cmp eax, dword [esi + 0x44c]
sete cl
mov ecx, dword [esi + ecx*4 + 0x454]
mov ebx, eax
test ecx, ecx
je 0x4d0a12
lea edx, [ecx*4]
mov ebx, eax
nop dword [eax]
cmp dword [ebx], 0xfffffffe
jb 0x4d0a12
add ebx, 4
add edx, 0xfffffffc
jne 0x4d0a00
jmp 0x4d0956
lea eax, [eax + ecx*4]
cmp ebx, eax
je 0x4d0956
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov ecx, dword [esi + 0x18]
mov dword [ecx + 0xdc], eax
mov dword [ecx + 0xe0], 0x421
lea eax, [ecx + 0xc4]
cmp dword [ecx + 0xd8], 0x10
jb 0x4d0a47
mov eax, dword [eax]
mov dword [ecx + 0xd4], 0
mov byte [eax], 0
mov byte [ecx + 0xe4], 0
mov dword [ecx + 0x20c], 0
mov dword [esp + 8], ecx
mov eax, dword [ecx + 0x278]
test eax, eax
je 0x4d0ae6
mov ecx, dword [esp + 8]
mov esi, dword [ecx + 0x274]
imul edi, eax, 0x34
jmp 0x4d0ab4
push ebp
push ecx
call fcn.00533ac0
add esp, 8
mov dword [esi + edi - 0xc], 0
mov dword [esi + edi - 8], 0xf
mov byte [esi + edi - 0x1c], 0
add edi, 0xffffffcc
je 0x4d0ae6
mov eax, dword [esi + edi - 8]
cmp eax, 0x10
jb 0x4d0a9a
mov ecx, dword [esi + edi - 0x1c]
lea ebp, [eax + 1]
cmp ebp, 0x1000
jb 0x4d0a90
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4d156f
add eax, 0x24
mov ebp, eax
mov ecx, edx
jmp 0x4d0a90
mov ecx, dword [esp + 8]
mov dword [ecx + 0x278], 0
push 0
call fcn.0045a620
add ebx, 4
mov eax, dword [esp + 4]
cmp ebx, eax
mov esi, dword [esp]
je 0x4d0956
nop dword [eax]
cmp dword [ebx], 0xfffffffe
jb 0x4d0b21
add ebx, 4
cmp eax, ebx
jne 0x4d0b10
jmp 0x4d0956
cmp eax, ebx
jne 0x4d0a21
jmp 0x4d0956
test edx, edx
js 0x4d0d57
add ecx, 0x6c
mov eax, edx
jmp 0x4d0d7b
mov esi, edx
jmp 0x4d0671
mov eax, 0xfffffffe
sub eax, edx
mov edx, eax
shr edx, 5
mov esi, dword [ecx + 0x8c]
mov edx, dword [esi + edx*4]
bt edx, eax
jae 0x4d1118
add ecx, 0x78
mov esi, dword [esp]
mov ecx, dword [ecx]
test ecx, ecx
mov dl, byte [esp + 0x94]
je 0x4d054c
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov eax, dword [eax]
test eax, eax
jns 0x4d054e
jmp 0x4d054c
mov ebx, esi
jmp 0x4d0367
test eax, eax
je 0x4d113d
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + eax*4 - 4]
mov eax, dword [eax + 8]
test eax, eax
je 0x4d0bb6
or byte [eax + 0xa1], 4
mov eax, dword [esi + 0x254]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x4d0202
test dword [ebp], 0x1000000
jne 0x4d0cb9
cmp ecx, ebp
je 0x4d0202
mov dword [esp + 4], ecx
mov ecx, dword [esi + 0x34]
push edi
call fcn.0050c180
mov ecx, dword [esp + 4]
cmp word [eax + 4], 1
jne 0x4d0202
mov eax, dword [ebp + 0xc]
mov esi, dword [eax]
add eax, 8
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], esi
mov eax, dword [ecx + 0xc]
mov edx, dword [eax]
add eax, 8
cmp esi, edx
cmovb esi, edx
shr esi, 1
lea ecx, [esp + 0x30]
push esi
push 1
push edx
push eax
call fcn.004229d0
cmp eax, esi
mov esi, dword [esp]
ja 0x4d0202
mov eax, dword [esi + 0x254]
mov eax, dword [eax + 0x20]
mov ecx, dword [esi + 0x18]
mov dword [ecx + 0xdc], eax
mov dword [ecx + 0xe0], 0x44c
lea eax, [ecx + 0xc4]
cmp dword [ecx + 0xd8], 0x10
jb 0x4d0c5d
mov eax, dword [eax]
mov dword [ecx + 0xd4], 0
mov byte [eax], 0
lea eax, [ecx + 0xe4]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], ecx
mov word [esp + 0x50], 1
mov byte [ecx + 0xe4], 0
mov dword [ecx + 0x20c], 0
mov dword [esp + 0xc], ecx
mov eax, dword [ecx + 0x278]
test eax, eax
je 0x4d11f8
mov ecx, dword [esp + 0xc]
mov ebx, dword [ecx + 0x274]
imul esi, eax, 0x34
jmp 0x4d0d2d
mov eax, dword [esi + 0x1c]
test byte [eax + 0xc], 0x10
je 0x4d0202
lea eax, [esp + 0x44]
mov dword [esp + 4], ecx
mov ecx, esi
push ebp
push eax
call fcn.004c6200
mov ecx, dword [esp + 4]
cmp dword [esp + 0x44], 4
jae 0x4d0202
cmp ecx, ebp
je 0x4d0202
cmp dword [esp + 0x4c], 0
je 0x4d0bdc
jmp 0x4d0202
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.00533ac0
add esp, 8
mov dword [ebx + esi - 0xc], 0
mov dword [ebx + esi - 8], 0xf
mov byte [ebx + esi - 0x1c], 0
add esi, 0xffffffcc
je 0x4d11f8
mov eax, dword [ebx + esi - 8]
cmp eax, 0x10
jb 0x4d0d0f
mov ecx, dword [ebx + esi - 0x1c]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x4d0d05
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x4d0cfe
jmp 0x4d156f
mov eax, 0xfffffffe
sub eax, edx
mov edx, eax
shr edx, 5
mov esi, dword [ecx + 0x8c]
mov edx, dword [esi + edx*4]
bt edx, eax
jae 0x4d1164
add ecx, 0x78
mov esi, dword [esp]
mov ecx, dword [ecx]
test ecx, ecx
je 0x4d0606
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
cmp dword [eax], 0
js 0x4d0606
cmp dword [eax + 4], 0
je 0x4d0606
mov edx, dword [esi + 0x254]
mov eax, dword [edx + 8]
mov ecx, dword [esi + 0x2c]
mov edi, dword [ecx + 0x70]
sub edi, dword [edx + 0xc]
mov byte [esp + 0x44], 0
lea edx, [eax + 1]
cmp edx, 2
jae 0x4d1106
mov eax, dword [esi + 0x254]
test eax, eax
je 0x4d0ddb
mov ecx, dword [eax + 8]
mov eax, dword [esi + 0x54c]
cmp eax, ecx
sete al
jmp 0x4d0ddf
xor ecx, ecx
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp + 0xc], ecx
test bl, bl
je 0x4d0e9b
mov ecx, esi
push 0
call fcn.004d1580
mov ecx, dword [esi + 0x250]
mov esi, dword [ecx + 0x54]
mov edi, dword [ecx + 0x58]
cmp edi, esi
mov dword [esp + 0x10], eax
je 0x4d0e39
mov cl, byte [edi - 1]
cmp cl, 0xd
je 0x4d0e19
cmp cl, 0xa
jne 0x4d0e39
lea edx, [edi - 1]
cmp edx, esi
je 0x4d0e3b
mov ch, byte [edi - 2]
cmp ch, 0xd
je 0x4d0e31
cmp ch, 0xa
jne 0x4d10b4
add edi, 0xfffffffe
cmp ch, cl
cmove edi, edx
mov esi, edi
xorps xmm0, xmm0
mov edi, dword [esp + 0x90]
movups xmmword [edi], xmm0
mov ebp, dword [esp]
mov eax, dword [ebp + 0x250]
mov dword [eax + 0x224], esi
mov ebx, dword [ebp + 0x250]
mov eax, esi
sub eax, dword [ebx + 0x224]
mov dword [edi + 4], eax
lea edx, [esp + 0x44]
mov ecx, ebx
push eax
push dword [ebx + 0x224]
push edx
call fcn.004ba760
mov eax, dword [esp + 0x44]
mov dword [edi], eax
mov word [edi + 0xc], 0x181
mov dword [ebx + 0x224], esi
mov esi, ebp
mov eax, dword [edi]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x10]
mov dword [edi + 8], eax
cmp dword [esi + 0x254], 0
je 0x4d0eda
mov ecx, esi
call fcn.004c4d10
test al, al
je 0x4d0eda
mov ecx, dword [esi + 0x2c]
mov eax, dword [esi + 0x254]
mov edx, dword [eax + 8]
mov byte [esp + 0x44], 0
lea eax, [edx + 1]
cmp eax, 2
jae 0x4d109e
xor eax, eax
mov ecx, esi
push eax
call fcn.004c4c60
mov ebx, eax
jmp 0x4d0edc
xor ebx, ebx
mov edi, dword [esi + 0x25c]
test edi, edi
je 0x4d0f3b
lea eax, [esi + 0x25c]
mov ecx, dword [esi + 0x558]
cmp ecx, 8
jne 0x4d0f07
mov dword [eax], 0
mov ecx, edi
call fcn.004ee790
push edi
jmp 0x4d0f33
lea edx, [ecx + 1]
mov dword [esi + 0x558], edx
lea ecx, [esi + ecx*4]
add ecx, 0x55c
cmp eax, ecx
je 0x4d0f3b
mov dword [eax], 0
mov ebp, dword [ecx]
mov dword [ecx], edi
test ebp, ebp
je 0x4d0f3b
mov ecx, ebp
call fcn.004ee790
push ebp
call fcn.00533f45
add esp, 4
mov ecx, esi
call fcn.004d1e10
mov ecx, dword [esi + 0x25c]
test ecx, ecx
je 0x4d0f5a
push dword [esp + 0x90]
call fcn.004f0a60
jmp 0x4d0f70
mov ecx, dword [esi + 0x250]
test ecx, ecx
je 0x4d0f70
push dword [esp + 0x90]
call fcn.004c1330
cmp dword [esi + 0x274], 0
mov al, byte [esp + 0x94]
je 0x4d0fd8
test al, al
jne 0x4d0fd8
mov ecx, dword [esi + 0x254]
test ecx, ecx
je 0x4d0fd8
mov edi, dword [esi + 0x2c]
mov eax, dword [ecx]
lea edx, [esp + 0x18]
push edx
call dword [eax + 0xc]
mov ecx, edi
push dword [esp + 0x18]
call fcn.00452bb0
mov edi, eax
mov ecx, dword [esi + 0x254]
mov ebp, dword [esi + 0x274]
mov eax, dword [ecx]
lea edx, [esp + 0x14]
push edx
call dword [eax + 0xc]
mov eax, dword [ebp]
mov ecx, ebp
push dword [esp + 0xc]
push edi
push 1
push dword [esp + 0x20]
call dword [eax + 4]
mov al, byte [esp + 0x94]
cmp byte [esp + 4], 0
je 0x4d0fed
mov ecx, esi
call fcn.004c5610
mov al, byte [esp + 0x94]
test al, al
jne 0x4d1038
mov ebp, dword [esi + 0x254]
test ebp, ebp
sete al
xor bl, 1
or bl, al
jne 0x4d1038
mov eax, dword [esi + 0x250]
test eax, eax
mov ebx, dword [esp + 8]
je 0x4d1076
cmp byte [eax + 0x220], 0
je 0x4d1076
mov edx, dword [esi + 0x268]
mov esi, dword [esi + 0x26c]
add edx, 0x18
mov cl, 1
mov dword [esp + 4], ecx
cmp edx, esi
jne 0x4d1064
jmp 0x4d0638
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.00533ace
mov eax, ebx
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret 8
cmp dword [edx + 0xc], 0
jne 0x4d1084
add edx, 0x18
cmp esi, edx
je 0x4d0638
mov edi, dword [edx + 8]
test edi, edi
je 0x4d1053
cmp byte [edi + 0x220], 0
jne 0x4d1059
jmp 0x4d1084
mov edx, dword [esi + 0x268]
cmp edx, dword [esi + 0x26c]
je 0x4d10a9
mov ecx, dword [ebp + 8]
mov dl, 1
mov dword [esp + 4], edx
mov edx, dword [esp]
cmp ecx, dword [edx + 0x54c]
je 0x4d0638
jmp 0x4d103c
test edx, edx
js 0x4d10bb
add ecx, 0x6c
mov eax, edx
jmp 0x4d10df
mov cl, 1
mov dword [esp + 4], ecx
jmp 0x4d0638
mov esi, edx
jmp 0x4d0e3b
mov eax, 0xfffffffe
sub eax, edx
mov edx, eax
shr edx, 5
mov esi, dword [ecx + 0x8c]
mov edx, dword [esi + edx*4]
bt edx, eax
jae 0x4d1182
add ecx, 0x78
mov esi, dword [esp]
mov ecx, dword [ecx]
test ecx, ecx
je 0x4d0ecc
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
cmp dword [eax], 0
js 0x4d0ecc
mov eax, dword [eax + 0xc]
and eax, 0xfffffff8
mov eax, dword [eax + 4]
jmp 0x4d0ece
test eax, eax
js 0x4d11a0
add ecx, 0x6c
mov edx, eax
jmp 0x4d11c4
lea edx, [esp + 0x44]
push edx
push eax
call fcn.0044fcd0
cmp byte [esp + 0x44], 0
mov esi, dword [esp]
jne 0x4d0545
mov dl, byte [esp + 0x94]
jmp 0x4d0b82
and ecx, 0xfffffffc
je 0x4d0bb6
lea eax, [esp + 0x44]
push eax
call fcn.0050ed10
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4d12c7
mov eax, dword [eax + 0xc]
jmp 0x4d0bab
lea edx, [esp + 0x44]
push edx
push eax
call fcn.0044fcd0
cmp byte [esp + 0x44], 0
mov esi, dword [esp]
jne 0x4d0606
jmp 0x4d0d8b
lea edx, [esp + 0x44]
push edx
push eax
call fcn.0044fcd0
cmp byte [esp + 0x44], 0
mov esi, dword [esp]
jne 0x4d0ecc
jmp 0x4d10ef
mov edx, 0xfffffffe
sub edx, eax
mov eax, edx
shr eax, 5
mov esi, dword [ecx + 0x8c]
mov eax, dword [esi + eax*4]
bt eax, edx
jae 0x4d12a9
add ecx, 0x78
mov esi, dword [esp]
mov eax, dword [ecx]
test eax, eax
je 0x4d0dc1
lea ecx, [edx + edx*4]
lea eax, [eax + ecx*4]
cmp dword [eax], 0
js 0x4d0dc1
add edi, 1
and edi, 0x7fffffff
mov ecx, 0x80000000
and ecx, dword [eax + 8]
or ecx, edi
mov dword [eax + 8], ecx
jmp 0x4d0dc1
mov eax, dword [esp + 0xc]
mov dword [eax + 0x278], 0
mov esi, dword [esp]
mov eax, dword [esi + 0x254]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
lea ecx, [esp + 0x44]
push eax
call fcn.004d1af0
mov edi, eax
mov eax, dword [eax]
test eax, eax
jne 0x4d1236
mov ecx, dword [edi + 4]
call fcn.00454700
mov dword [edi], eax
movzx ecx, byte [eax]
mov byte [eax + ecx + 1], 5
mov eax, dword [edi]
movzx ecx, byte [eax]
mov edx, ecx
add dl, 1
mov byte [eax], dl
mov dword [eax + ecx*4 + 0xc], ebp
cmp byte [esp + 0x50], 0
je 0x4d1273
mov ecx, dword [esp + 0x4c]
movzx eax, byte [esp + 0x51]
push eax
call fcn.0045a620
mov dword [esp + 0x4c], 0
mov word [esp + 0x50], 0
mov edi, dword [esp + 0x44]
test edi, edi
je 0x4d12de
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4d12de
cmp eax, edi
ja 0x4d12ce
lea ecx, [eax + 0x2d40]
cmp ecx, edi
jb 0x4d12ce
mov ecx, dword [eax + 0x2d80]
lea edx, [ecx + 1]
mov dword [eax + 0x2d80], edx
mov dword [eax + ecx*4 + 0x2d40], edi
jmp 0x4d12de
lea eax, [esp + 0x44]
push eax
push edx
call fcn.0044fcd0
cmp byte [esp + 0x44], 0
mov esi, dword [esp]
jne 0x4d0dc1
jmp 0x4d11d4
xor eax, eax
jmp 0x4d0bab
mov ecx, edi
call fcn.00454310
push edi
call fcn.00533f45
add esp, 4
mov eax, dword [esi + 0x254]
mov eax, dword [eax + 0x24]
mov ecx, dword [esi + 0x18]
mov dword [ecx + 0xdc], eax
mov dword [ecx + 0xe0], 0x405
lea eax, [ecx + 0xc4]
cmp dword [ecx + 0xd8], 0x10
jb 0x4d130b
mov eax, dword [eax]
mov dword [ecx + 0xd4], 0
mov byte [eax], 0
lea eax, [ecx + 0xe4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], ecx
mov word [esp + 0x2c], 1
mov byte [ecx + 0xe4], 0
mov dword [ecx + 0x20c], 0
mov dword [esp + 0xc], ecx
mov eax, dword [ecx + 0x278]
test eax, eax
je 0x4d13b9
mov ecx, dword [esp + 0xc]
mov ebx, dword [ecx + 0x274]
imul esi, eax, 0x34
jmp 0x4d1387
push edi
push ecx
call fcn.00533ac0
add esp, 8
mov dword [ebx + esi - 0xc], 0
mov dword [ebx + esi - 8], 0xf
mov byte [ebx + esi - 0x1c], 0
add esi, 0xffffffcc
je 0x4d13b9
mov eax, dword [ebx + esi - 8]
cmp eax, 0x10
jb 0x4d136d
mov ecx, dword [ebx + esi - 0x1c]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x4d1363
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4d156f
add eax, 0x24
mov edi, eax
mov ecx, edx
jmp 0x4d1363
mov eax, dword [esp + 0xc]
mov dword [eax + 0x278], 0
mov esi, dword [esp]
mov eax, dword [esi + 0x254]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x20]
push eax
call fcn.004d1af0
mov edi, eax
mov eax, dword [eax]
test eax, eax
jne 0x4d13f7
mov ecx, dword [edi + 4]
call fcn.00454700
mov dword [edi], eax
movzx ecx, byte [eax]
mov byte [eax + ecx + 1], 5
mov eax, dword [edi]
movzx ecx, byte [eax]
mov edx, ecx
add dl, 1
mov byte [eax], dl
mov edx, dword [esp + 4]
mov dword [eax + ecx*4 + 0xc], edx
mov eax, dword [edi]
test eax, eax
mov ebx, dword [esp + 8]
jne 0x4d1427
mov ecx, dword [edi + 4]
call fcn.00454700
mov dword [edi], eax
movzx ecx, byte [eax]
mov byte [eax + ecx + 1], 5
mov eax, dword [edi]
movzx ecx, byte [eax]
mov edx, ecx
add dl, 1
mov byte [eax], dl
mov dword [eax + ecx*4 + 0xc], ebp
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add eax, 8
mov edx, dword [esi + 0x254]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], edx
mov byte [esp + 0x40], 1
sub esp, 0x18
mov edx, dword [esp + 0x58]
mov dword [esp + 0xc], edx
movsd xmm0, qword [esp + 0x50]
movsd qword [esp + 4], xmm0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
lea ebp, [esp + 0x5c]
mov dword [esp], ebp
call fcn.004c0970
add esp, 0x18
cmp dword [esp + 0x44], 0
je 0x4d14b7
cmp dword [esp + 0x48], 0
je 0x4d14b7
mov ecx, dword [edi]
test ecx, ecx
jne 0x4d14ab
mov ecx, dword [edi + 4]
call fcn.00454700
mov ecx, eax
mov dword [edi], eax
add ecx, 0x190
push ebp
call fcn.004c4660
mov eax, dword [esp + 0x70]
cmp eax, 0x10
jb 0x4d14f4
mov ecx, dword [esp + 0x5c]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x4d14e7
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4d156f
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.00533ac0
add esp, 8
mov esi, dword [esp]
cmp byte [esp + 0x2c], 0
je 0x4d1519
mov ecx, dword [esp + 0x28]
movzx eax, byte [esp + 0x2d]
push eax
call fcn.0045a620
mov dword [esp + 0x28], 0
mov word [esp + 0x2c], 0
mov edi, dword [esp + 0x20]
test edi, edi
je 0x4d0202
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4d0202
cmp eax, edi
ja 0x4d155a
lea ecx, [eax + 0x2d40]
cmp ecx, edi
jb 0x4d155a
mov ecx, dword [eax + 0x2d80]
lea edx, [ecx + 1]
mov dword [eax + 0x2d80], edx
mov dword [eax + ecx*4 + 0x2d40], edi
jmp 0x4d0202
mov ecx, edi
call fcn.00454310
push edi
call fcn.00533f45
add esp, 4
jmp 0x4d0202
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3