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

Disassembly:
push 0xffffffffffffffff
push 0x587560
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x5ed130]
xor eax, esp
mov dword [esp + 0xb4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5ed130]
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.0045ede0
mov edi, dword [ebx + 0x10]
mov esi, eax
cmp dword [ebx + 0xc], edi
jbe 0x4680a2
call fcn.0043fcb8
mov eax, dword [ebx + 0xc]
mov ebp, dword [ebx]
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x10]
jbe 0x4680b5
call fcn.0043fcb8
mov eax, dword [ebx]
test ebp, ebp
je 0x4680bf
cmp ebp, eax
je 0x4680c4
call fcn.0043fcb8
sub edi, dword [esp + 0x14]
sar edi, 1
mov dword [esi + 8], edi
mov edi, dword [ebx + 0x28]
cmp dword [ebx + 0x24], edi
jbe 0x4680da
call fcn.0043fcb8
mov eax, dword [ebx + 0x24]
mov ebp, dword [ebx + 0x18]
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x28]
jbe 0x4680ee
call fcn.0043fcb8
mov eax, dword [ebx + 0x18]
test ebp, ebp
je 0x4680f9
cmp ebp, eax
je 0x4680fe
call fcn.0043fcb8
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 0x468116
call fcn.0043fcb8
mov ecx, ebx
mov ebx, dword [ecx + 0x4c]
mov ebp, dword [ecx + 0x40]
cmp ebx, dword [ecx + 0x50]
jbe 0x46812c
call fcn.0043fcb8
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x40]
test ebp, ebp
je 0x468137
cmp ebp, eax
je 0x468140
call fcn.0043fcb8
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 0x4681a2
mov edi, dword [esp + 0x18]
mov edx, dword [edi + 0x58]
mov ebx, eax
and ebx, edx
cmp ebx, edx
je 0x46817c
mov edx, dword [edi + 0x5c]
mov ebx, eax
and ebx, edx
cmp ebx, edx
jne 0x468184
mov edx, dword [edi + 0x60]
or edx, eax
mov dword [esi + 0x14], edx
mov eax, dword [edi + 0x58]
mov edx, ecx
and edx, eax
cmp edx, eax
je 0x46819a
mov eax, dword [edi + 0x5c]
mov edx, ecx
and edx, eax
cmp edx, eax
jne 0x4681a2
mov eax, dword [edi + 0x60]
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 0x4681d3
call fcn.0043fcb8
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 0x4681ec
call fcn.0043fcb8
mov ecx, dword [edi]
mov dword [esp + 0x2c], ecx
test ebp, ebp
je 0x4681fc
cmp ebp, dword [esp + 0x2c]
je 0x468201
call fcn.0043fcb8
cmp ebx, esi
je 0x468351
test ebp, ebp
jne 0x468309
call fcn.0043fcb8
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x468222
call fcn.0043fcb8
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 0x468259
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.00475130
mov ebp, dword [esi + 8]
mov ecx, dword [esp + 0x1c]
add edi, ebp
mov dword [esi + 8], edi
test ecx, ecx
jne 0x468311
call fcn.0043fcb8
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x468286
call fcn.0043fcb8
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov al, byte [ebx]
je 0x4682a1
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 0x468318
call fcn.0043fcb8
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4682c1
call fcn.0043fcb8
mov ecx, dword [esp + 0x1c]
cmp byte [ebx + 1], 0
je 0x468320
test ecx, ecx
jne 0x46831c
call fcn.0043fcb8
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4682e4
call fcn.0043fcb8
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov al, byte [ebx + 1]
je 0x468300
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 0x468324
mov eax, dword [ebp]
jmp 0x468218
mov eax, dword [ecx]
jmp 0x468278
mov eax, dword [ecx]
jmp 0x4682b3
mov eax, dword [ecx]
jmp 0x4682d6
mov byte [ebp + 1], 0
test ecx, ecx
jne 0x46834d
call fcn.0043fcb8
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x468339
call fcn.0043fcb8
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebx, 2
jmp 0x4681f2
mov eax, dword [ecx]
jmp 0x46832f
mov esi, dword [edi + 0x24]
cmp esi, dword [edi + 0x28]
jbe 0x46835e
call fcn.0043fcb8
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 0x46837a
call fcn.0043fcb8
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x44], ecx
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x46838f
cmp esi, dword [esp + 0x44]
je 0x468394
call fcn.0043fcb8
mov edi, dword [esp + 0x20]
cmp edi, dword [esp + 0x3c]
je 0x468b9d
test esi, esi
jne 0x4683f0
call fcn.0043fcb8
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x4683b7
call fcn.0043fcb8
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 0x4683da
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 0x4683f4
mov edx, dword [edx]
movzx eax, bl
mov al, byte [eax + edx + 0x104]
jmp 0x4683f6
mov eax, dword [esi]
jmp 0x4683ad
mov al, bl
mov byte [esp + 0x35], al
test esi, esi
jne 0x468456
call fcn.0043fcb8
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x46840f
call fcn.0043fcb8
add edi, 2
test esi, esi
jne 0x46845a
call fcn.0043fcb8
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x468427
call fcn.0043fcb8
mov al, byte [ebp + 0xc]
mov cl, byte [edi]
mov edx, dword [ebp + 4]
test al, al
je 0x46843f
mov esi, dword [edx]
movzx ecx, cl
mov cl, byte [ecx + esi + 0x104]
mov byte [esp + 0x2c], cl
test al, al
je 0x46845e
movzx eax, byte [edi + 1]
mov edx, dword [edx]
mov al, byte [eax + edx + 0x104]
jmp 0x468461
mov eax, dword [esi]
jmp 0x468405
mov eax, dword [esi]
jmp 0x46841d
mov al, byte [edi + 1]
mov byte [esp + 0x2d], al
mov eax, dword [esp + 0x1c]
xor ebp, ebp
cmp eax, ebp
jne 0x4686ab
call fcn.0043fcb8
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x468484
call fcn.0043fcb8
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 0x4686b2
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 0x468517
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.0045f5e0
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 2
call fcn.00402180
mov edi, 0x10
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x46856a
mov edx, dword [esp + 0x94]
push edx
call fcn.0043deaa
add esp, 4
cmp byte [esp + 0x25], 0
lea eax, [esp + 0x26]
jne 0x468579
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.0045f5e0
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x80]
mov byte [esp + 0xe0], 3
call fcn.00402180
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x4685c7
mov edx, dword [esp + 0x94]
push edx
call fcn.0043deaa
add esp, 4
cmp dword [esp + 0xc0], ebp
jne 0x468631
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.00402180
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x468631
mov ecx, dword [esp + 0x94]
push ecx
call fcn.0043deaa
add esp, 4
mov edi, dword [esp + 0x88]
cmp edi, ebp
jne 0x4688c1
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.00402180
cmp dword [esp + 0xa8], 0x10
mov byte [esp + 0xd4], bl
jb 0x4688ba
mov eax, dword [esp + 0x94]
push eax
call fcn.0043deaa
add esp, 4
jmp 0x4688ba
mov eax, dword [eax]
jmp 0x46847a
cmp byte [esp + 0x35], 0
je 0x468751
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.00460240
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xb0]
mov esi, eax
cmp edx, 0x10
jae 0x4686ff
lea esi, [esp + 0xb0]
mov edi, dword [esp + 0xc0]
add esi, edi
cmp esi, ebp
je 0x468730
mov ecx, eax
cmp edx, 0x10
jae 0x46871a
lea ecx, [esp + 0xb0]
cmp ecx, esi
ja 0x468730
cmp edx, 0x10
jae 0x46872a
lea eax, [esp + 0xb0]
add eax, edi
cmp esi, eax
jbe 0x468735
call fcn.0043fcb8
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.00460240
jmp 0x4687b2
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.00402180
cmp dword [esp + 0xa8], 0x10
mov byte [esp + 0xd4], bl
jb 0x4687b2
mov edx, dword [esp + 0x94]
push edx
call fcn.0043deaa
add esp, 4
cmp byte [esp + 0x2d], 0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x8c]
mov esi, eax
je 0x46886a
cmp edi, 0x10
jae 0x4687d3
lea esi, [esp + 0x78]
mov edx, dword [esp + 0x88]
add esi, edx
cmp esi, ebp
je 0x4687fe
mov ecx, eax
cmp edi, 0x10
jae 0x4687eb
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x4687fe
cmp edi, 0x10
jae 0x4687f8
lea eax, [esp + 0x78]
add eax, edx
cmp esi, eax
jbe 0x468803
call fcn.0043fcb8
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.00460240
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x78]
mov esi, eax
cmp edx, 0x10
jae 0x468830
lea esi, [esp + 0x78]
mov edi, dword [esp + 0x88]
add esi, edi
cmp esi, ebp
je 0x46885b
mov ecx, eax
cmp edx, 0x10
jae 0x468848
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x46885b
cmp edx, 0x10
jae 0x468855
lea eax, [esp + 0x78]
add eax, edi
cmp esi, eax
jbe 0x468860
call fcn.0043fcb8
mov ecx, dword [esp + 0x2d]
lea edx, [esp + 0x64]
jmp 0x4688ab
cmp edi, 0x10
jae 0x468873
lea esi, [esp + 0x78]
mov edx, dword [esp + 0x88]
add esi, edx
cmp esi, ebp
je 0x46889e
mov ecx, eax
cmp edi, 0x10
jae 0x46888b
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x46889e
cmp edi, 0x10
jae 0x468898
lea eax, [esp + 0x78]
add eax, edx
cmp esi, eax
jbe 0x4688a3
call fcn.0043fcb8
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.00460240
mov edi, dword [esp + 0x88]
cmp dword [esp + 0xc4], 0x10
mov edx, dword [esp + 0xb0]
jae 0x4688d9
lea edx, [esp + 0xb0]
mov ecx, dword [esp + 0xc0]
cmp edi, ecx
jae 0x4688e6
mov ecx, edi
mov esi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x78]
mov eax, ebx
cmp esi, 0x10
jae 0x4688fc
lea eax, [esp + 0x78]
push ecx
push edx
push eax
call fcn.00401090
add esp, 0xc
cmp eax, ebp
jne 0x468925
mov eax, dword [esp + 0xc0]
cmp edi, eax
jb 0x468b57
xor ecx, ecx
cmp edi, eax
setne cl
mov eax, ecx
cmp eax, ebp
jl 0x468b57
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 0x468962
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.00475130
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 0x468986
lea eax, [esp + 0xb0]
mov esi, dword [esp + 0xc0]
lea edi, [eax + esi]
cmp edi, ebp
je 0x4689ba
mov eax, edx
cmp ecx, 0x10
jae 0x4689a2
lea eax, [esp + 0xb0]
cmp eax, edi
ja 0x4689ba
mov eax, edx
cmp ecx, 0x10
jae 0x4689b4
lea eax, [esp + 0xb0]
add eax, esi
cmp edi, eax
jbe 0x4689cd
call fcn.0043fcb8
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xb0]
cmp ecx, 0x10
jb 0x468b42
mov esi, edx
cmp edx, ebp
je 0x468a09
mov eax, edx
cmp ecx, 0x10
jae 0x4689ea
lea eax, [esp + 0xb0]
cmp eax, esi
ja 0x468a09
mov eax, edx
cmp ecx, 0x10
jae 0x4689fc
lea eax, [esp + 0xb0]
mov edx, dword [esp + 0xc0]
add eax, edx
cmp esi, eax
jbe 0x468a0e
call fcn.0043fcb8
sub edi, esi
mov eax, edi
cmp eax, ebp
jle 0x468a22
push eax
push esi
push eax
push ebx
call fcn.0043e2a2
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 0x468a4e
lea eax, [esp + 0x78]
mov esi, dword [esp + 0x88]
lea edi, [eax + esi]
cmp edi, ebp
je 0x468a7c
mov eax, edx
cmp ecx, 0x10
jae 0x468a67
lea eax, [esp + 0x78]
cmp eax, edi
ja 0x468a7c
mov eax, edx
cmp ecx, 0x10
jae 0x468a76
lea eax, [esp + 0x78]
add eax, esi
cmp edi, eax
jbe 0x468a8c
call fcn.0043fcb8
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x78]
cmp ecx, 0x10
jb 0x468b4e
mov esi, edx
cmp edx, ebp
je 0x468ac2
mov eax, edx
cmp ecx, 0x10
jae 0x468aa6
lea eax, [esp + 0x78]
cmp eax, esi
ja 0x468ac2
mov eax, edx
cmp ecx, 0x10
jae 0x468ab5
lea eax, [esp + 0x78]
mov edx, dword [esp + 0x88]
add eax, edx
cmp esi, eax
jbe 0x468ac7
call fcn.0043fcb8
sub edi, esi
mov eax, edi
cmp eax, ebp
jle 0x468adb
push eax
push esi
push eax
push ebx
call fcn.0043e2a2
add esp, 0x10
mov eax, dword [esp + 0x88]
mov byte [ebx + eax], 0
cmp dword [esp + 0x8c], 0x10
jb 0x468afd
mov ecx, dword [esp + 0x78]
push ecx
call fcn.0043deaa
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 0x468381
mov edx, dword [esp + 0xb0]
push edx
call fcn.0043deaa
add esp, 4
jmp 0x468381
lea esi, [esp + 0xb0]
jmp 0x4689dc
lea esi, [esp + 0x78]
jmp 0x468a9b
cmp esi, 0x10
jb 0x468b65
push ebx
call fcn.0043deaa
add esp, 4
cmp dword [esp + 0xc4], 0x10
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
jb 0x468b96
mov eax, dword [esp + 0xb0]
push eax
call fcn.0043deaa
add esp, 4
xor eax, eax
jmp 0x468edd
mov edi, dword [esp + 0x28]
mov esi, dword [edi + 0x4c]
cmp esi, dword [edi + 0x50]
jbe 0x468bae
call fcn.0043fcb8
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 0x468bc8
call fcn.0043fcb8
mov ecx, dword [edi + 0x40]
mov dword [esp + 0x44], ecx
nop
test ebx, ebx
je 0x468bda
cmp ebx, dword [esp + 0x44]
je 0x468bdf
call fcn.0043fcb8
cmp ebp, esi
je 0x468eca
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
mov dword [esp + 0xd4], 7
test ebx, ebx
jne 0x468cd4
call fcn.0043fcb8
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x468c29
call fcn.0043fcb8
cmp byte [ebp + 1], 0
lea esi, [ebp + 1]
je 0x468ce9
test ebx, ebx
jne 0x468cdb
call fcn.0043fcb8
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x468c4f
call fcn.0043fcb8
mov dl, byte [ebp]
mov byte [esp + 0x14], dl
test ebx, ebx
jne 0x468ce2
call fcn.0043fcb8
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x468c6f
call fcn.0043fcb8
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.00465d10
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 8
call fcn.00402180
cmp dword [esp + 0xc4], 0x10
mov byte [esp + 0xd4], 7
jb 0x468d6c
mov ecx, dword [esp + 0xb0]
push ecx
jmp 0x468d64
mov eax, dword [ebx]
jmp 0x468c1f
mov eax, dword [ebx]
jmp 0x468c45
mov eax, dword [ebx]
jmp 0x468c65
test ebx, ebx
jne 0x468e9d
call fcn.0043fcb8
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x468d02
call fcn.0043fcb8
test ebx, ebx
jne 0x468ea4
call fcn.0043fcb8
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x468d1b
call fcn.0043fcb8
push esi
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
push ebp
lea edx, [esp + 0xb4]
push edx
call fcn.00465d10
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 9
call fcn.00402180
cmp dword [esp + 0xc4], 0x10
mov byte [esp + 0xd4], 7
jb 0x468d6c
mov eax, dword [esp + 0xb0]
push eax
call fcn.0043deaa
add esp, 4
mov edi, dword [esp + 0xa4]
test edi, edi
je 0x468eaf
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 0x468da4
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.00475130
mov ebx, dword [esi + 8]
add edi, ebx
mov dword [esi + 8], edi
cmp dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0x94]
jae 0x468dc4
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.004054c0
mov eax, dword [esp + 0x94]
mov esi, 0x10
cmp dword [esp + 0xa8], esi
jae 0x468dfb
lea eax, [esp + 0x94]
lea edx, [esp + 0x90]
push edx
push eax
lea ecx, [esp + 0x3c]
call fcn.004054c0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
sub eax, ecx
test eax, eax
jle 0x468e27
push eax
push ecx
push eax
push ebx
call fcn.0043e2a2
add esp, 0x10
mov eax, dword [esp + 0xa4]
mov byte [ebx + eax], 0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x468eab
call fcn.0043fcb8
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x468e4b
call fcn.0043fcb8
add ebp, 2
mov dword [esp + 0xd4], 0xffffffff
cmp dword [esp + 0xa8], esi
jb 0x468e72
mov ecx, dword [esp + 0x94]
push ecx
call fcn.0043deaa
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 0x468bd0
mov eax, dword [ebx]
jmp 0x468cf8
mov eax, dword [ebx]
jmp 0x468d11
mov eax, dword [eax]
jmp 0x468e41
lea ecx, [esp + 0x90]
mov dword [esp + 0xd4], 0xffffffff
call fcn.00401600
xor eax, eax
jmp 0x468edd
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.0043dd0c
add esp, 0xc4
ret 8