Function at 0x4e2070
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x537760
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x581094]
xor eax, esp
mov dword [esp + 0xb4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x581094]
xor eax, esp
push eax
lea eax, [esp + 0xcc]
mov dword fs:[0], eax
mov ebx, dword [esp + 0xdc]
push 0x20
push 0xe
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], ebx
call fcn.004da310
mov edi, dword [ebx + 0x10]
mov esi, eax
cmp dword [ebx + 0xc], edi
jbe 0x4e20d2
call fcn.00502761
mov eax, dword [ebx + 0xc]
mov ebp, dword [ebx]
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x10]
jbe 0x4e20e5
call fcn.00502761
mov eax, dword [ebx]
test ebp, ebp
je 0x4e20ef
cmp ebp, eax
je 0x4e20f4
call fcn.00502761
sub edi, dword [esp + 0x14]
sar edi, 1
mov dword [esi + 8], edi
mov edi, dword [ebx + 0x28]
cmp dword [ebx + 0x24], edi
jbe 0x4e210a
call fcn.00502761
mov eax, dword [ebx + 0x24]
mov ebp, dword [ebx + 0x18]
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x28]
jbe 0x4e211e
call fcn.00502761
mov eax, dword [ebx + 0x18]
test ebp, ebp
je 0x4e2129
cmp ebp, eax
je 0x4e212e
call fcn.00502761
sub edi, dword [esp + 0x14]
sar edi, 1
shr edi, 1
mov dword [esi + 0xc], edi
mov edi, dword [ebx + 0x50]
cmp dword [ebx + 0x4c], edi
jbe 0x4e2146
call fcn.00502761
mov ecx, ebx
mov ebx, dword [ecx + 0x4c]
mov ebp, dword [ecx + 0x40]
cmp ebx, dword [ecx + 0x50]
jbe 0x4e215c
call fcn.00502761
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x40]
test ebp, ebp
je 0x4e2167
cmp ebp, eax
je 0x4e2170
call fcn.00502761
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
sub edi, ebx
sar edi, 1
mov dword [esi + 0x10], edi
mov eax, dword [ecx + 0x34]
mov dword [esi + 0x14], eax
mov ecx, dword [ecx + 0x38]
mov dword [esi + 0x18], ecx
mov edx, dword [edx]
test dword [edx + 0x20], 0x100000
je 0x4e21d2
mov edi, dword [esp + 0x18]
mov edx, dword [edi + 0x34]
mov ebx, eax
and ebx, edx
cmp ebx, edx
je 0x4e21ac
mov edx, dword [edi + 0x38]
mov ebx, eax
and ebx, edx
cmp ebx, edx
jne 0x4e21b4
mov edx, dword [edi + 0x3c]
or edx, eax
mov dword [esi + 0x14], edx
mov eax, dword [edi + 0x34]
mov edx, ecx
and edx, eax
cmp edx, eax
je 0x4e21ca
mov eax, dword [edi + 0x38]
mov edx, ecx
and edx, eax
cmp edx, eax
jne 0x4e21d2
mov eax, dword [edi + 0x3c]
or eax, ecx
mov dword [esi + 0x18], eax
mov edi, dword [esp + 0x28]
mov al, byte [edi + 0x30]
mov edx, dword [esp + 0x18]
mov byte [esi + 0x1c], al
cmp byte [edi + 0x31], 0
sete cl
mov byte [esi + 0x1d], cl
mov eax, dword [edx]
sub esi, dword [eax + 0x144]
mov dword [esp + 0x40], esi
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
jbe 0x4e2203
call fcn.00502761
mov ebp, dword [edi]
mov ebx, esi
mov esi, dword [edi + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], esi
cmp dword [edi + 0xc], esi
jbe 0x4e221c
call fcn.00502761
mov ecx, dword [edi]
mov dword [esp + 0x2c], ecx
test ebp, ebp
je 0x4e222c
cmp ebp, dword [esp + 0x2c]
je 0x4e2231
call fcn.00502761
cmp ebx, esi
je 0x4e2381
test ebp, ebp
jne 0x4e2339
call fcn.00502761
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4e2252
call fcn.00502761
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x140]
xor edx, edx
cmp byte [ebx + 1], dl
setne dl
add esi, 0x140
sub ecx, eax
add edx, 2
mov edi, edx
cmp ecx, edi
jae 0x4e2289
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.004ed700
mov ebp, dword [esi + 8]
mov ecx, dword [esp + 0x1c]
add edi, ebp
mov dword [esi + 8], edi
test ecx, ecx
jne 0x4e2341
call fcn.00502761
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4e22b6
call fcn.00502761
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov al, byte [ebx]
je 0x4e22d1
mov edx, dword [edx + 4]
mov edx, dword [edx]
movzx eax, al
mov al, byte [edx + eax + 0x104]
mov byte [ebp], al
test ecx, ecx
jne 0x4e2348
call fcn.00502761
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4e22f1
call fcn.00502761
mov ecx, dword [esp + 0x1c]
cmp byte [ebx + 1], 0
je 0x4e2350
test ecx, ecx
jne 0x4e234c
call fcn.00502761
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4e2314
call fcn.00502761
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov al, byte [ebx + 1]
je 0x4e2330
mov edx, dword [edx + 4]
mov edx, dword [edx]
movzx eax, al
mov al, byte [edx + eax + 0x104]
mov byte [ebp + 1], al
mov byte [ebp + 2], 0
jmp 0x4e2354
mov eax, dword [ebp]
jmp 0x4e2248
mov eax, dword [ecx]
jmp 0x4e22a8
mov eax, dword [ecx]
jmp 0x4e22e3
mov eax, dword [ecx]
jmp 0x4e2306
mov byte [ebp + 1], 0
test ecx, ecx
jne 0x4e237d
call fcn.00502761
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4e2369
call fcn.00502761
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebx, 2
jmp 0x4e2222
mov eax, dword [ecx]
jmp 0x4e235f
mov esi, dword [edi + 0x24]
cmp esi, dword [edi + 0x28]
jbe 0x4e238e
call fcn.00502761
mov eax, dword [edi + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x28]
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], eax
cmp dword [edi + 0x24], eax
jbe 0x4e23aa
call fcn.00502761
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x44], ecx
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x4e23bf
cmp esi, dword [esp + 0x44]
je 0x4e23c4
call fcn.00502761
mov edi, dword [esp + 0x20]
cmp edi, dword [esp + 0x3c]
je 0x4e2bcd
test esi, esi
jne 0x4e2420
call fcn.00502761
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4e23e7
call fcn.00502761
mov ebp, dword [esp + 0x18]
mov al, byte [ebp + 0xc]
mov cl, byte [edi]
mov bl, byte [edi + 1]
mov edx, dword [ebp + 4]
test al, al
je 0x4e240a
mov esi, dword [edx]
movzx ecx, cl
mov cl, byte [ecx + esi + 0x104]
mov esi, dword [esp + 0x1c]
mov byte [esp + 0x34], cl
test al, al
je 0x4e2424
mov edx, dword [edx]
movzx eax, bl
mov al, byte [eax + edx + 0x104]
jmp 0x4e2426
mov eax, dword [esi]
jmp 0x4e23dd
mov al, bl
mov byte [esp + 0x35], al
test esi, esi
jne 0x4e2486
call fcn.00502761
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4e243f
call fcn.00502761
add edi, 2
test esi, esi
jne 0x4e248a
call fcn.00502761
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4e2457
call fcn.00502761
mov al, byte [ebp + 0xc]
mov cl, byte [edi]
mov edx, dword [ebp + 4]
test al, al
je 0x4e246f
mov esi, dword [edx]
movzx ecx, cl
mov cl, byte [ecx + esi + 0x104]
mov byte [esp + 0x2c], cl
test al, al
je 0x4e248e
movzx eax, byte [edi + 1]
mov edx, dword [edx]
mov al, byte [eax + edx + 0x104]
jmp 0x4e2491
mov eax, dword [esi]
jmp 0x4e2435
mov eax, dword [esi]
jmp 0x4e244d
mov al, byte [edi + 1]
mov byte [esp + 0x2d], al
mov eax, dword [esp + 0x1c]
xor ebp, ebp
cmp eax, ebp
jne 0x4e26db
call fcn.00502761
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4e24b4
call fcn.00502761
add edi, 2
mov eax, 0xf
mov dword [esp + 0x20], edi
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], ebp
mov byte [esp + 0xb0], 0
mov dword [esp + 0xd4], ebp
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
test dword [ecx + 0x20], 0x200000
mov ebx, 1
mov byte [esp + 0xd4], bl
je 0x4e26e2
movzx edx, byte [esp + 0x34]
mov al, byte [esp + 0x35]
mov cl, byte [esp + 0x2c]
mov byte [esp + 0x14], dl
movzx edx, byte [esp + 0x2d]
mov byte [esp + 0x15], al
test al, al
mov byte [esp + 0x16], 0
mov byte [esp + 0x24], cl
mov byte [esp + 0x25], dl
mov byte [esp + 0x26], 0
lea eax, [esp + 0x16]
jne 0x4e2547
lea eax, [esp + 0x15]
push eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esi + 4]
call fcn.004dad60
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 2
call fcn.00402941
mov edi, 0x10
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x4e259a
mov edx, dword [esp + 0x94]
push edx
call fcn.00500d36
add esp, 4
cmp byte [esp + 0x25], 0
lea eax, [esp + 0x26]
jne 0x4e25a9
lea eax, [esp + 0x25]
push eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esi + 4]
call fcn.004dad60
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x80]
mov byte [esp + 0xe0], 3
call fcn.00402941
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x4e25f7
mov edx, dword [esp + 0x94]
push edx
call fcn.00500d36
add esp, 4
cmp dword [esp + 0xc0], ebp
jne 0x4e2661
mov dword [esp + 0xa8], 0xf
mov byte [esp + 0x94], 0
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x95], 0
push 0xffffffffffffffff
push ebp
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 4
call fcn.00402941
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x4e2661
mov ecx, dword [esp + 0x94]
push ecx
call fcn.00500d36
add esp, 4
mov edi, dword [esp + 0x88]
cmp edi, ebp
jne 0x4e28f1
mov dword [esp + 0xa8], 0xf
mov byte [esp + 0x94], 0
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x95], 0
push 0xffffffffffffffff
push ebp
lea edx, [esp + 0x98]
push edx
lea ecx, [esp + 0x80]
mov byte [esp + 0xe0], 5
call fcn.00402941
cmp dword [esp + 0xa8], 0x10
mov byte [esp + 0xd4], bl
jb 0x4e28ea
mov eax, dword [esp + 0x94]
push eax
call fcn.00500d36
add esp, 4
jmp 0x4e28ea
mov eax, dword [eax]
jmp 0x4e24aa
cmp byte [esp + 0x35], 0
je 0x4e2781
mov edx, dword [esp + 0x34]
push edx
lea ecx, [esp + 0xb4]
push ecx
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0xbc]
call fcn.004db8a0
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xb0]
mov esi, eax
cmp edx, 0x10
jae 0x4e272f
lea esi, [esp + 0xb0]
mov edi, dword [esp + 0xc0]
add esi, edi
cmp esi, ebp
je 0x4e2760
mov ecx, eax
cmp edx, 0x10
jae 0x4e274a
lea ecx, [esp + 0xb0]
cmp ecx, esi
ja 0x4e2760
cmp edx, 0x10
jae 0x4e275a
lea eax, [esp + 0xb0]
add eax, edi
cmp esi, eax
jbe 0x4e2765
call fcn.00502761
mov ecx, dword [esp + 0x35]
push ecx
lea eax, [esp + 0xb0]
push esi
push eax
lea edx, [esp + 0x68]
push edx
mov ecx, eax
call fcn.004db8a0
jmp 0x4e27e2
mov dword [esp + 0xa8], eax
mov al, byte [esp + 0x34]
mov byte [esp + 0x94], al
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x95], 0
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x98]
push ecx
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 6
call fcn.00402941
cmp dword [esp + 0xa8], 0x10
mov byte [esp + 0xd4], bl
jb 0x4e27e2
mov edx, dword [esp + 0x94]
push edx
call fcn.00500d36
add esp, 4
cmp byte [esp + 0x2d], 0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x8c]
mov esi, eax
je 0x4e289a
cmp edi, 0x10
jae 0x4e2803
lea esi, [esp + 0x78]
mov edx, dword [esp + 0x88]
add esi, edx
cmp esi, ebp
je 0x4e282e
mov ecx, eax
cmp edi, 0x10
jae 0x4e281b
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x4e282e
cmp edi, 0x10
jae 0x4e2828
lea eax, [esp + 0x78]
add eax, edx
cmp esi, eax
jbe 0x4e2833
call fcn.00502761
mov ecx, dword [esp + 0x2c]
push ecx
lea eax, [esp + 0x78]
push esi
push eax
lea edx, [esp + 0x78]
push edx
mov ecx, eax
call fcn.004db8a0
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x78]
mov esi, eax
cmp edx, 0x10
jae 0x4e2860
lea esi, [esp + 0x78]
mov edi, dword [esp + 0x88]
add esi, edi
cmp esi, ebp
je 0x4e288b
mov ecx, eax
cmp edx, 0x10
jae 0x4e2878
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x4e288b
cmp edx, 0x10
jae 0x4e2885
lea eax, [esp + 0x78]
add eax, edi
cmp esi, eax
jbe 0x4e2890
call fcn.00502761
mov ecx, dword [esp + 0x2d]
lea edx, [esp + 0x64]
jmp 0x4e28db
cmp edi, 0x10
jae 0x4e28a3
lea esi, [esp + 0x78]
mov edx, dword [esp + 0x88]
add esi, edx
cmp esi, ebp
je 0x4e28ce
mov ecx, eax
cmp edi, 0x10
jae 0x4e28bb
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x4e28ce
cmp edi, 0x10
jae 0x4e28c8
lea eax, [esp + 0x78]
add eax, edx
cmp esi, eax
jbe 0x4e28d3
call fcn.00502761
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x54]
push ecx
push esi
lea eax, [esp + 0x7c]
push eax
push edx
mov ecx, eax
call fcn.004db8a0
mov edi, dword [esp + 0x88]
cmp dword [esp + 0xc4], 0x10
mov edx, dword [esp + 0xb0]
jae 0x4e2909
lea edx, [esp + 0xb0]
mov ecx, dword [esp + 0xc0]
cmp edi, ecx
jae 0x4e2916
mov ecx, edi
mov esi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x78]
mov eax, ebx
cmp esi, 0x10
jae 0x4e292c
lea eax, [esp + 0x78]
push ecx
push edx
push eax
call fcn.0040928e
add esp, 0xc
cmp eax, ebp
jne 0x4e2955
mov eax, dword [esp + 0xc0]
cmp edi, eax
jb 0x4e2b87
xor ecx, ecx
cmp edi, eax
setne cl
mov eax, ecx
cmp eax, ebp
jl 0x4e2b87
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov edx, dword [esp + 0xc0]
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x140]
add esi, 0x140
lea edi, [edi + edx + 2]
sub ecx, eax
cmp ecx, edi
jae 0x4e2992
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.004ed700
mov ebx, dword [esi + 8]
add edi, ebx
mov dword [esi + 8], edi
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xb0]
mov eax, edx
cmp ecx, 0x10
jae 0x4e29b6
lea eax, [esp + 0xb0]
mov esi, dword [esp + 0xc0]
lea edi, [eax + esi]
cmp edi, ebp
je 0x4e29ea
mov eax, edx
cmp ecx, 0x10
jae 0x4e29d2
lea eax, [esp + 0xb0]
cmp eax, edi
ja 0x4e29ea
mov eax, edx
cmp ecx, 0x10
jae 0x4e29e4
lea eax, [esp + 0xb0]
add eax, esi
cmp edi, eax
jbe 0x4e29fd
call fcn.00502761
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xb0]
cmp ecx, 0x10
jb 0x4e2b72
mov esi, edx
cmp edx, ebp
je 0x4e2a39
mov eax, edx
cmp ecx, 0x10
jae 0x4e2a1a
lea eax, [esp + 0xb0]
cmp eax, esi
ja 0x4e2a39
mov eax, edx
cmp ecx, 0x10
jae 0x4e2a2c
lea eax, [esp + 0xb0]
mov edx, dword [esp + 0xc0]
add eax, edx
cmp esi, eax
jbe 0x4e2a3e
call fcn.00502761
sub edi, esi
mov eax, edi
cmp eax, ebp
jle 0x4e2a52
push eax
push esi
push eax
push ebx
call fcn.0050257d
add esp, 0x10
mov eax, dword [esp + 0xc0]
mov byte [ebx + eax], 0
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x78]
lea ebx, [ebx + ecx + 1]
mov ecx, dword [esp + 0x8c]
mov eax, edx
cmp ecx, 0x10
jae 0x4e2a7e
lea eax, [esp + 0x78]
mov esi, dword [esp + 0x88]
lea edi, [eax + esi]
cmp edi, ebp
je 0x4e2aac
mov eax, edx
cmp ecx, 0x10
jae 0x4e2a97
lea eax, [esp + 0x78]
cmp eax, edi
ja 0x4e2aac
mov eax, edx
cmp ecx, 0x10
jae 0x4e2aa6
lea eax, [esp + 0x78]
add eax, esi
cmp edi, eax
jbe 0x4e2abc
call fcn.00502761
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x78]
cmp ecx, 0x10
jb 0x4e2b7e
mov esi, edx
cmp edx, ebp
je 0x4e2af2
mov eax, edx
cmp ecx, 0x10
jae 0x4e2ad6
lea eax, [esp + 0x78]
cmp eax, esi
ja 0x4e2af2
mov eax, edx
cmp ecx, 0x10
jae 0x4e2ae5
lea eax, [esp + 0x78]
mov edx, dword [esp + 0x88]
add eax, edx
cmp esi, eax
jbe 0x4e2af7
call fcn.00502761
sub edi, esi
mov eax, edi
cmp eax, ebp
jle 0x4e2b0b
push eax
push esi
push eax
push ebx
call fcn.0050257d
add esp, 0x10
mov eax, dword [esp + 0x88]
mov byte [ebx + eax], 0
cmp dword [esp + 0x8c], 0x10
jb 0x4e2b2d
mov ecx, dword [esp + 0x78]
push ecx
call fcn.00500d36
add esp, 4
cmp dword [esp + 0xc4], 0x10
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
mov dword [esp + 0xd4], 0xffffffff
jb 0x4e23b1
mov edx, dword [esp + 0xb0]
push edx
call fcn.00500d36
add esp, 4
jmp 0x4e23b1
lea esi, [esp + 0xb0]
jmp 0x4e2a0c
lea esi, [esp + 0x78]
jmp 0x4e2acb
cmp esi, 0x10
jb 0x4e2b95
push ebx
call fcn.00500d36
add esp, 4
cmp dword [esp + 0xc4], 0x10
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
jb 0x4e2bc6
mov eax, dword [esp + 0xb0]
push eax
call fcn.00500d36
add esp, 4
xor eax, eax
jmp 0x4e2f0d
mov edi, dword [esp + 0x28]
mov esi, dword [edi + 0x4c]
cmp esi, dword [edi + 0x50]
jbe 0x4e2bde
call fcn.00502761
mov ebx, dword [edi + 0x40]
mov ebp, esi
mov esi, dword [edi + 0x50]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x3c], esi
cmp dword [edi + 0x4c], esi
jbe 0x4e2bf8
call fcn.00502761
mov ecx, dword [edi + 0x40]
mov dword [esp + 0x44], ecx
nop
test ebx, ebx
je 0x4e2c0a
cmp ebx, dword [esp + 0x44]
je 0x4e2c0f
call fcn.00502761
cmp ebp, esi
je 0x4e2efa
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
mov dword [esp + 0xd4], 7
test ebx, ebx
jne 0x4e2d04
call fcn.00502761
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4e2c59
call fcn.00502761
cmp byte [ebp + 1], 0
lea esi, [ebp + 1]
je 0x4e2d19
test ebx, ebx
jne 0x4e2d0b
call fcn.00502761
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4e2c7f
call fcn.00502761
mov dl, byte [ebp]
mov byte [esp + 0x14], dl
test ebx, ebx
jne 0x4e2d12
call fcn.00502761
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4e2c9f
call fcn.00502761
mov al, byte [esi]
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x16]
push ecx
mov ecx, dword [esi + 4]
lea edx, [esp + 0x18]
mov byte [esp + 0x19], al
push edx
lea eax, [esp + 0xb4]
push eax
mov byte [esp + 0x22], 0
call fcn.004e0130
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 8
call fcn.00402941
cmp dword [esp + 0xc4], 0x10
mov byte [esp + 0xd4], 7
jb 0x4e2d9c
mov ecx, dword [esp + 0xb0]
push ecx
jmp 0x4e2d94
mov eax, dword [ebx]
jmp 0x4e2c4f
mov eax, dword [ebx]
jmp 0x4e2c75
mov eax, dword [ebx]
jmp 0x4e2c95
test ebx, ebx
jne 0x4e2ecd
call fcn.00502761
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4e2d32
call fcn.00502761
test ebx, ebx
jne 0x4e2ed4
call fcn.00502761
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4e2d4b
call fcn.00502761
push esi
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
push ebp
lea edx, [esp + 0xb4]
push edx
call fcn.004e0130
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 9
call fcn.00402941
cmp dword [esp + 0xc4], 0x10
mov byte [esp + 0xd4], 7
jb 0x4e2d9c
mov eax, dword [esp + 0xb0]
push eax
call fcn.00500d36
add esp, 4
mov edi, dword [esp + 0xa4]
test edi, edi
je 0x4e2edf
mov esi, dword [esi]
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x140]
add esi, 0x140
inc edi
sub ecx, eax
cmp ecx, edi
jae 0x4e2dd4
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.004ed700
mov ebx, dword [esi + 8]
add edi, ebx
mov dword [esi + 8], edi
cmp dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0x94]
jae 0x4e2df4
lea eax, [esp + 0x94]
mov edx, dword [esp + 0xa4]
lea ecx, [esp + 0x90]
push ecx
add eax, edx
push eax
lea ecx, [esp + 0x34]
call fcn.004094b9
mov eax, dword [esp + 0x94]
mov esi, 0x10
cmp dword [esp + 0xa8], esi
jae 0x4e2e2b
lea eax, [esp + 0x94]
lea edx, [esp + 0x90]
push edx
push eax
lea ecx, [esp + 0x3c]
call fcn.004094b9
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
sub eax, ecx
test eax, eax
jle 0x4e2e57
push eax
push ecx
push eax
push ebx
call fcn.0050257d
add esp, 0x10
mov eax, dword [esp + 0xa4]
mov byte [ebx + eax], 0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4e2edb
call fcn.00502761
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4e2e7b
call fcn.00502761
add ebp, 2
mov dword [esp + 0xd4], 0xffffffff
cmp dword [esp + 0xa8], esi
jb 0x4e2ea2
mov ecx, dword [esp + 0x94]
push ecx
call fcn.00500d36
add esp, 4
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
jmp 0x4e2c00
mov eax, dword [ebx]
jmp 0x4e2d28
mov eax, dword [ebx]
jmp 0x4e2d41
mov eax, dword [eax]
jmp 0x4e2e71
lea ecx, [esp + 0x90]
mov dword [esp + 0xd4], 0xffffffff
call fcn.0040214b
xor eax, eax
jmp 0x4e2f0d
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x144]
add eax, dword [esp + 0x40]
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0xcc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xb4]
xor ecx, esp
call fcn.00502c08
add esp, 0xc4
ret 8