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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x160]
push esi
push edi
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x28], eax
cmp edi, dword [ebx + 0x90]
jne 0x413a0a
lea ecx, [ebx + 0x11c]
lea edx, [ebx + 0x120]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], edx
jmp 0x413a1b
mov eax, dword [ebx + 0x128]
mov dword [esp + 0x18], eax
add eax, 4
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
lea edx, [esp + 0x14]
push edx
mov edx, dword [edi + 4]
push ecx
push eax
push edi
mov dword [esp + 0x24], eax
call edx
mov ecx, dword [ebp + 0x14]
mov esi, eax
add esp, 0x10
cmp esi, 0xfffffffb
je 0x413a53
cmp esi, 0xfffffffd
je 0x413a53
mov eax, dword [esp + 0x14]
jmp 0x413a5e
cmp byte [ebp + 0x20], 0
mov eax, ecx
jne 0x413a5e
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x24]
push edx
push 0xac0
push eax
push ecx
mov eax, esi
mov edx, ebx
call fcn.0041a230
add esp, 0x10
test al, al
je 0x4143bf
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
lea eax, [esi + 5]
mov dword [ecx], edx
cmp eax, 0x12
ja case.default.0x413a93
jmp dword [eax*4 + 0x414650]
mov eax, dword [edi + 0x40]
mov ecx, dword [ebp + 0x14]
sub edx, eax
push edx
mov edx, dword [edi + 0x2c]
add eax, ecx
push eax
push edi
call edx
add esp, 0xc
mov byte [esp + 0x12], al
test al, al
je 0x413b13
push 1
push 0xb02
lea eax, [esp + 0x1b]
push eax
lea ecx, [esp + 0x1e]
push ecx
mov eax, esi
mov edx, ebx
call fcn.0041a230
mov eax, dword [ebx + 0x3c]
add esp, 0x10
test eax, eax
je 0x413af0
mov ecx, dword [ebx + 4]
push 1
lea edx, [esp + 0x16]
push edx
push ecx
call eax
add esp, 0xc
jmp 0x413b9d
cmp dword [ebx + 0x50], 0
je 0x413b9a
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0x14]
push edx
push eax
push edi
mov esi, ebx
call fcn.00418920
add esp, 0xc
jmp 0x413b9d
mov edi, dword [ebp + 0x10]
mov ecx, dword [edi + 0x40]
mov eax, dword [esp + 0x14]
mov edx, dword [ebp + 0x14]
mov esi, dword [esp + 0x28]
sub eax, ecx
push eax
add ecx, edx
add esi, 0x50
push ecx
mov eax, esi
call fcn.00419a10
add esp, 8
test eax, eax
je 0x414506
mov eax, esi
call fcn.00419b00
mov dword [esp + 0x30], eax
test eax, eax
je 0x414506
mov edi, dword [esp + 0x28]
push 0
push eax
push ebx
call fcn.004196e0
mov esi, eax
mov eax, edi
mov ecx, dword [eax + 0x60]
add esp, 0xc
cmp byte [eax + 0x81], 0
mov dword [eax + 0x5c], ecx
je 0x413bea
mov edx, eax
cmp byte [edx + 0x82], 0
jne 0x413bea
test esi, esi
jne 0x413bfc
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x413bce
mov ecx, dword [esp + 0x30]
push esi
mov edx, dword [ebx + 4]
push ecx
push edx
call eax
add esp, 0xc
mov edi, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [ebp + 0x14], ecx
mov dword [edx], ecx
mov eax, dword [ebx + 0x1dc]
sub eax, 2
je 0x414643
sub eax, 1
jne 0x413a24
mov edx, dword [ebp + 0x1c]
mov dword [edx], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x50], 0
je 0x413b9a
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push eax
push ecx
push edx
mov esi, ebx
call fcn.00418920
jmp 0x413b97
test esi, esi
je 0x4144c1
cmp byte [esi + 0x22], 0
je 0x4144cd
cmp byte [esi + 0x20], 0
jne 0x4144d9
cmp dword [esi + 0x1c], 0
jne 0x4144e5
cmp dword [esi + 4], 0
je 0x413c49
cmp byte [ebx + 0x130], 0
jne 0x413c2f
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x413bce
mov ecx, dword [esi]
push 0
jmp 0x413b90
push 0
push esi
mov esi, ebx
call fcn.00417990
add esp, 8
test eax, eax
jne 0x414648
jmp 0x413b9a
cmp dword [ebx + 0x70], 0
je 0x413c98
mov edi, ebx
mov byte [esi + 0x20], 1
call fcn.00418d70
mov byte [esi + 0x20], 0
test eax, eax
je 0x414506
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x10]
push ecx
mov ecx, dword [esi + 0x14]
push edx
mov edx, dword [ebx + 0x74]
push ecx
push eax
mov eax, dword [ebx + 0x70]
push edx
call eax
add esp, 0x14
test eax, eax
je 0x4144f1
mov ecx, dword [ebx + 0x1ac]
mov dword [ebx + 0x1a8], ecx
jmp 0x413b9a
cmp dword [ebx + 0x50], 0
je 0x413b9a
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
push edx
push eax
push ecx
mov esi, ebx
call fcn.00418920
jmp 0x413b97
mov esi, dword [ebx + 0x16c]
test esi, esi
je 0x413ccf
mov edx, dword [esi]
mov dword [ebx + 0x16c], edx
jmp 0x413cfe
mov eax, dword [ebx + 0xc]
push 0x30
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x414506
mov ecx, dword [ebx + 0xc]
push 0x20
call ecx
add esp, 4
mov dword [esi + 0x24], eax
test eax, eax
je 0x4144fd
add eax, 0x20
mov dword [esi + 0x28], eax
xor ecx, ecx
mov dword [esi + 0x2c], ecx
mov edx, dword [ebx + 0x168]
lea eax, [esi + 0x2c]
mov dword [esi], edx
mov dword [ebx + 0x168], esi
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], ecx
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x40]
add eax, ecx
push eax
mov dword [esi + 4], eax
mov edx, dword [edi + 0x1c]
push edi
call edx
mov dword [esi + 8], eax
inc dword [ebx + 0x134]
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
add eax, ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x24], ecx
mov edx, dword [esi + 0x28]
dec edx
push edx
lea ecx, [esp + 0x28]
push ecx
push eax
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x44], eax
mov eax, dword [edi + 0x38]
push edi
call eax
mov ecx, dword [esp + 0x38]
sub ecx, dword [esi + 0x24]
add esp, 0x1c
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x20], ecx
jae 0x413dee
mov edi, edi
cmp eax, 1
je 0x413dee
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x28]
mov edx, dword [ebx + 0x10]
sub eax, ecx
add eax, eax
push eax
push ecx
mov dword [esp + 0x3c], eax
call edx
add esp, 8
test eax, eax
je 0x414506
mov ecx, dword [esp + 0x34]
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], edx
add eax, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
mov edx, dword [esi + 0x28]
dec edx
push edx
lea eax, [esp + 0x20]
push eax
mov eax, dword [edi + 0x38]
push ecx
lea edx, [esp + 0x2c]
push edx
push edi
call eax
mov ecx, dword [esp + 0x30]
sub ecx, dword [esi + 0x24]
mov edx, dword [esp + 0x40]
add esp, 0x14
mov dword [esp + 0x30], ecx
cmp dword [esp + 0x20], edx
jb 0x413d80
mov eax, dword [esp + 0x30]
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x18], eax
lea eax, [esi + 0xc]
mov dword [eax], ecx
mov ecx, dword [ebp + 0x24]
mov edx, dword [esp + 0x1c]
push ecx
push eax
mov byte [edx], 0
mov edx, dword [esp + 0x40]
mov ecx, dword [ebp + 0x14]
push edi
push ebx
mov dword [esp + 0x44], eax
call fcn.004146f0
add esp, 0x10
test eax, eax
jne 0x414648
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x413e54
mov edx, dword [ebx + 0x184]
mov ecx, dword [esp + 0x34]
push edx
mov edx, dword [ecx]
mov ecx, dword [ebx + 4]
push edx
push ecx
call eax
add esp, 0xc
lea ecx, [ebx + 0x19c]
call fcn.00419990
jmp 0x413b9d
cmp dword [ebx + 0x50], 0
je 0x413e6e
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0x14]
push edx
push eax
push edi
mov esi, ebx
call fcn.00418920
add esp, 0xc
lea ecx, [ebx + 0x19c]
call fcn.00419990
jmp 0x413b9d
mov esi, dword [ebp + 0x10]
mov edi, dword [esi + 0x40]
add edi, dword [ebp + 0x14]
mov ecx, dword [esi + 0x1c]
push edi
push esi
mov dword [esp + 0x38], 0
mov byte [esp + 0x1b], 1
call ecx
add eax, edi
push eax
lea ecx, [ebx + 0x19c]
push edi
mov edi, esi
mov eax, ecx
call fcn.00419a10
add esp, 0x10
test eax, eax
je 0x413eed
mov edx, dword [ebx + 0x1a8]
cmp edx, dword [ebx + 0x1a4]
jne 0x413ed6
lea esi, [ebx + 0x19c]
call fcn.00419b30
test al, al
jne 0x413ed6
xor eax, eax
jmp 0x413eeb
mov eax, dword [ebx + 0x1a8]
mov byte [eax], 0
inc dword [ebx + 0x1a8]
mov eax, dword [ebx + 0x1ac]
mov esi, edi
mov dword [esp + 0x40], eax
test eax, eax
je 0x414506
mov ecx, dword [ebx + 0x1a8]
push 2
lea edx, [esp + 0x44]
push edx
mov dword [ebx + 0x1ac], ecx
mov ecx, dword [ebp + 0x14]
push esi
push ebx
lea edx, [esp + 0x40]
call fcn.004146f0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x414512
mov eax, dword [ebx + 0x1a8]
mov esi, dword [esp + 0x40]
mov dword [ebx + 0x1ac], eax
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x413f53
mov ecx, dword [ebx + 0x184]
mov edx, dword [ebx + 4]
push ecx
push esi
push edx
call eax
add esp, 0xc
xor al, al
jmp 0x413f57
mov al, byte [esp + 0x13]
cmp dword [ebx + 0x38], 0
je 0x413f7e
cmp dword [ebx + 0x34], 0
je 0x413f6f
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov edx, dword [esp + 0x18]
mov dword [edx], ecx
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0x38]
push esi
push eax
call ecx
add esp, 8
jmp 0x413f9e
test al, al
je 0x413f9e
cmp dword [ebx + 0x50], 0
je 0x413f9e
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0x14]
push edx
push eax
mov ecx, edi
push ecx
mov esi, ebx
call fcn.00418920
add esp, 0xc
lea ecx, [ebx + 0x19c]
call fcn.00419990
mov eax, dword [esp + 0x30]
push ebx
call fcn.004146a0
add esp, 4
cmp dword [ebx + 0x134], 0
jne 0x413b9a
mov eax, dword [ebx + 0x1dc]
cmp eax, 2
je 0x413b9a
cmp eax, 3
jne 0x414528
mov dword [ebx + 0x114], fcn.00417750
jmp 0x413b9d
mov edx, dword [ebp + 0xc]
cmp dword [ebx + 0x134], edx
je 0x41447b
mov esi, dword [ebx + 0x168]
mov eax, dword [esi]
mov ecx, dword [ebx + 0x16c]
mov dword [ebx + 0x168], eax
mov dword [esi], ecx
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0x16c], esi
mov edx, dword [edi + 0x40]
mov ecx, dword [edi + 0x1c]
lea eax, [eax + edx*2]
push eax
push edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x34], eax
call ecx
add esp, 8
cmp eax, dword [esi + 8]
jne 0x414545
mov edx, dword [esp + 0x2c]
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], ecx
cmp eax, 4
jb 0x414074
lea ecx, [ecx]
mov ecx, dword [ecx]
cmp ecx, dword [edx]
jne 0x414545
mov ecx, dword [esp + 0x30]
sub eax, 4
add edx, 4
add ecx, 4
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], ecx
cmp eax, 4
jae 0x414050
test eax, eax
je 0x4140ac
mov dl, byte [edx]
cmp dl, byte [ecx]
jne 0x414545
cmp eax, 1
jbe 0x4140ac
mov edx, dword [esp + 0x20]
mov dl, byte [edx + 1]
cmp dl, byte [ecx + 1]
jne 0x414545
cmp eax, 2
jbe 0x4140ac
mov eax, dword [esp + 0x20]
mov dl, byte [eax + 2]
cmp dl, byte [ecx + 2]
jne 0x414545
dec dword [ebx + 0x134]
cmp dword [ebx + 0x38], 0
je 0x41411f
cmp byte [ebx + 0xe8], 0
mov edx, dword [esi + 0x10]
je 0x41410d
test edx, edx
je 0x41410d
mov eax, dword [esi + 0x1c]
mov cl, byte [edx]
add eax, dword [esi + 0xc]
test cl, cl
je 0x4140de
inc edx
mov byte [eax], cl
mov cl, byte [edx]
inc eax
test cl, cl
jne 0x4140d4
cmp byte [ebx + 0xe9], 0
mov edx, dword [esi + 0x14]
je 0x41410a
test edx, edx
je 0x41410a
movzx ecx, byte [ebx + 0x1d4]
mov byte [eax], cl
mov cl, byte [edx]
inc eax
test cl, cl
je 0x41410a
mov edi, edi
inc edx
mov byte [eax], cl
mov cl, byte [edx]
inc eax
test cl, cl
jne 0x414100
mov byte [eax], 0
mov edx, dword [esi + 0xc]
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 0x38]
push edx
push eax
call ecx
add esp, 8
jmp 0x41413d
cmp dword [ebx + 0x50], 0
je 0x41413d
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0x14]
push edx
push eax
push edi
mov esi, ebx
call fcn.00418920
mov esi, dword [esp + 0x44]
add esp, 0xc
cmp dword [esi + 0x2c], 0
je 0x413fb6
jmp 0x414150
mov ecx, dword [ebx + 0x68]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x30], eax
test ecx, ecx
je 0x414172
mov edx, eax
mov eax, dword [edx]
mov edx, dword [eax]
mov eax, dword [ebx + 4]
push edx
push eax
call ecx
mov eax, dword [esp + 0x38]
add esp, 8
mov ecx, dword [esi + 0x2c]
mov edx, dword [ecx + 4]
mov dword [esi + 0x2c], edx
mov ecx, dword [ebx + 0x174]
mov dword [eax + 4], ecx
mov dword [ebx + 0x174], eax
mov edx, dword [eax]
mov eax, dword [eax + 8]
mov dword [edx + 4], eax
cmp dword [esi + 0x2c], 0
jne 0x414150
jmp 0x413fb6
mov ecx, dword [ebp + 0x14]
mov edx, dword [edi + 0x28]
push ecx
push edi
call edx
add esp, 8
test eax, eax
jl 0x41455b
mov esi, dword [ebx + 0x3c]
test esi, esi
je 0x413af0
lea ecx, [esp + 0x3c]
call fcn.004259b0
push eax
mov eax, ecx
mov ecx, dword [ebx + 4]
push eax
push ecx
call esi
add esp, 0xc
jmp 0x413b9d
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x4141f9
mov edx, dword [ebx + 4]
push 1
lea ecx, [esp + 0x17]
push ecx
push edx
mov byte [esp + 0x1f], 0xa
call eax
add esp, 0xc
jmp 0x413b9d
cmp dword [ebx + 0x50], 0
je 0x413b9d
jmp 0x413afe
mov eax, dword [ebx + 0x48]
test eax, eax
je 0x41421a
mov ecx, dword [ebx + 4]
push ecx
call eax
add esp, 4
jmp 0x414230
cmp dword [ebx + 0x50], 0
je 0x414230
push edx
mov edx, dword [ebp + 0x14]
push edx
push edi
mov esi, ebx
call fcn.00418920
add esp, 0xc
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0x18]
push ecx
push edx
push eax
lea ecx, [esp + 0x24]
push ecx
mov eax, ebx
call fcn.00415380
add esp, 0x14
test eax, eax
jne 0x414648
cmp dword [esp + 0x14], eax
jne 0x413b9d
mov dword [ebx + 0x114], 0x4152b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x30], eax
test eax, eax
je 0x414348
cmp byte [edi + 0x44], 0
jne 0x414333
mov eax, dword [ebx + 0x2c]
mov ecx, dword [ebx + 0x30]
push ecx
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
push edx
mov edx, dword [edi + 0x38]
lea ecx, [ebp + 0x14]
push ecx
push edi
call edx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov esi, eax
mov eax, dword [ebp + 0x14]
mov dword [ecx], eax
mov eax, dword [ebx + 0x2c]
add esp, 0x14
sub edx, eax
push edx
push eax
mov eax, dword [ebx + 4]
push eax
call dword [esp + 0x3c]
add esp, 0xc
test esi, esi
je 0x413b9a
cmp esi, 1
je 0x413b9a
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [edx], ecx
mov ecx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x2c]
push ecx
lea edx, [esp + 0x24]
push edx
mov edx, dword [edi + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [ebp + 0x14]
push ecx
push edi
call edx
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov esi, eax
mov eax, dword [ebp + 0x14]
mov dword [ecx], eax
mov eax, dword [ebx + 0x2c]
add esp, 0x14
sub edx, eax
push edx
push eax
mov eax, dword [ebx + 4]
push eax
call dword [esp + 0x3c]
add esp, 0xc
test esi, esi
jne 0x4142d5
jmp 0x413b9d
mov ecx, dword [ebp + 0x14]
sub edx, ecx
push edx
push ecx
mov ecx, dword [ebx + 4]
push ecx
call eax
add esp, 0xc
jmp 0x413b9d
cmp dword [ebx + 0x50], 0
je 0x413b9d
push edx
mov edx, dword [ebp + 0x14]
push edx
push edi
mov esi, ebx
call fcn.00418920
add esp, 0xc
jmp 0x413b9d
mov eax, dword [ebp + 0x14]
push edx
push eax
push ebx
mov ecx, edi
call fcn.00418760
add esp, 0xc
test eax, eax
je 0x414506
jmp 0x413b9d
push edi
mov ecx, edx
mov edx, dword [ebp + 0x14]
push ebx
call fcn.00418880
add esp, 8
test eax, eax
je 0x414506
jmp 0x413b9d
cmp dword [ebx + 0x50], 0
je 0x413b9d
mov ecx, dword [ebp + 0x14]
push edx
push ecx
push edi
mov esi, ebx
call fcn.00418920
add esp, 0xc
jmp 0x413b9d
push str._ABORTING_n
mov eax, ebx
call fcn.0041a080
add esp, 4
mov eax, 0x2b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebp + 0x20], 0
je 0x4143f1
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x18]
mov dword [ecx], edx
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x414411
mov edx, dword [ebx + 4]
push 1
lea ecx, [esp + 0x17]
push ecx
push edx
mov byte [esp + 0x1f], 0xa
call eax
jmp 0x414426
cmp dword [ebx + 0x50], 0
je 0x414429
mov ecx, dword [ebp + 0x14]
mov eax, edx
push eax
push ecx
push edi
mov esi, ebx
call fcn.00418920
add esp, 0xc
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x414609
cmp dword [ebx + 0x134], eax
jne 0x41447b
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
mov dword [edx], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebp + 0x20], 0
je 0x414464
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x1c]
mov dword [edx], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
test eax, eax
jle 0x414609
cmp dword [ebx + 0x134], eax
je 0x4143e0
mov eax, 0xd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x18]
mov dword [eax], edx
mov eax, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebp + 0x20], 0
jne 0x414453
mov eax, 5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebp + 0x20], 0
jne 0x4143e0
mov eax, 6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xf
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x15
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebx + 0x14]
push esi
call edx
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x30]
push ebx
call fcn.004146a0
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
mov edx, dword [esp + 0x14]
push eax
push ecx
push edx
push ebx
call fcn.00417750
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
mov eax, 7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x11
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebp + 0x20], 0
je 0x41458a
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x14]
mov dword [eax], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x4145e0
cmp byte [edi + 0x44], 0
jne 0x4145ce
mov edx, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x2c]
push edx
lea eax, [esp + 0x34]
push eax
mov eax, dword [edi + 0x38]
mov dword [esp + 0x38], ecx
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [ebp + 0x14]
push edx
push edi
call eax
mov eax, dword [ebx + 0x2c]
mov ecx, dword [esp + 0x44]
mov edx, dword [ebx + 4]
add esp, 0x14
sub ecx, eax
push ecx
push eax
mov eax, dword [ebx + 0x3c]
push edx
call eax
jmp 0x4145f6
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
sub edx, ecx
push edx
push ecx
mov ecx, dword [ebx + 4]
push ecx
call eax
jmp 0x4145f6
cmp dword [ebx + 0x50], 0
je 0x4145f9
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
push edx
push eax
push edi
mov esi, ebx
call fcn.00418920
add esp, 0xc
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x414615
mov ecx, dword [ebp + 0x18]
mov edx, dword [esp + 0x18]
mov dword [edx], ecx
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x134], eax
je 0x414632
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov eax, 0xd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x23
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret