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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x47e839
mov eax, dword fs:[0]
push eax
sub esp, 0x130
push ebx
push esi
push edi
mov eax, dword [0x49cff4]
xor eax, esp
push eax
lea eax, [esp + 0x140]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dword [esp + 0x70], edx
cmp dword [eax + 0x2c], 2
mov dword [ebx + 0x18], 0xf
mov dword [ebx + 0x14], edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
mov byte [esp + 0x16], dl
sete byte [esp + 0x18]
mov byte [esp + 0x1a], dl
mov byte [esp + 0x19], dl
mov dword [esp + 0x28], edx
mov byte [esp + 0x10], dl
mov byte [ebx + 4], dl
mov dword [esp + 0x148], edx
mov dword [esp + 0x70], 1
mov byte [eax + 0x40], dl
call fcn.0042c050
test al, al
je 0x43846e
jmp 0x437960
mov eax, dword [ebx + 0x14]
mov byte [esp + 0x1b], 0
mov dword [esp + 0x40], eax
lea esp, [esp]
mov edi, dword [esp + 0x1c]
xor ecx, ecx
mov eax, edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
cmp dword [edi + 0x3c], ecx
ja 0x43799d
push ecx
mov ecx, edi
call fcn.0042c6d0
test al, al
je case.default.0x4379ac
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x20]
mov edx, dword [ebx]
cmp edx, 6
ja case.default.0x4379ac
jmp dword [edx*4 + 0x43851c]
mov esi, dword [eax + 0x38]
lea edi, [eax + 0x20]
mov ebx, ecx
mov ecx, dword [edi + 0x1c]
add ecx, esi
cmp esi, ecx
jbe 0x4379c9
call fcn.0044d3a6
mov edi, dword [edi]
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc8], esi
test edi, edi
jne 0x4379fa
call fcn.0044d3a6
xor eax, eax
xor ecx, ecx
mov edx, dword [ecx + 0x1c]
add edx, dword [eax + 0x18]
add esi, ebx
cmp esi, edx
ja 0x437a07
test edi, edi
je 0x437a00
mov edi, dword [edi]
jmp 0x437a02
mov eax, dword [edi]
mov ecx, eax
jmp 0x4379e6
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x437a0c
call fcn.0044d3a6
mov eax, dword [esp + 0xc4]
lea ecx, [esp + 0xcc]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], esi
call fcn.0041bd50
mov al, byte [eax]
xor ecx, ecx
cmp al, 4
sete cl
dec ecx
mov eax, ecx
jmp 0x437c4e
mov esi, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
lea edi, [eax + 0x20]
add edx, esi
mov dword [esp + 0x24], ecx
cmp esi, edx
jbe 0x437a56
call fcn.0044d3a6
mov edi, dword [edi]
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], esi
test edi, edi
jne 0x437a8b
call fcn.0044d3a6
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
mov edx, dword [esp + 0x24]
add ecx, dword [eax + 0x18]
add esi, edx
cmp esi, ecx
ja 0x437a98
test edi, edi
je 0x437a91
mov edi, dword [edi]
jmp 0x437a93
mov eax, dword [edi]
mov ecx, eax
jmp 0x437a73
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x437a9d
call fcn.0044d3a6
mov edx, dword [esp + 0xdc]
lea ecx, [esp + 0x84]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], esi
call fcn.0041bd50
mov al, byte [eax]
xor ecx, ecx
cmp al, byte [ebx + 4]
sete cl
lea ecx, [ecx + ecx - 1]
mov eax, ecx
jmp 0x437c4e
mov esi, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
lea edi, [eax + 0x20]
add edx, esi
mov ebx, ecx
cmp esi, edx
jbe 0x437ae9
call fcn.0044d3a6
mov edi, dword [edi]
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd8], esi
test edi, edi
jne 0x437b1a
call fcn.0044d3a6
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
add esi, ebx
cmp esi, ecx
ja 0x437b27
test edi, edi
je 0x437b20
mov edi, dword [edi]
jmp 0x437b22
mov eax, dword [edi]
mov ecx, eax
jmp 0x437b06
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x437b2c
call fcn.0044d3a6
mov edx, dword [esp + 0xd4]
lea ecx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], esi
call fcn.0041bd50
mov al, byte [eax]
mov ecx, dword [esp + 0x20]
cmp byte [ecx + 4], al
jg 0x437c0f
mov edi, dword [esp + 0x3c]
mov esi, dword [edi + 0x38]
mov edx, dword [edi + 0x3c]
mov ebx, dword [esp + 0x38]
add edi, 0x20
add edx, esi
cmp esi, edx
jbe 0x437b78
call fcn.0044d3a6
mov edi, dword [edi]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], esi
test edi, edi
jne 0x437ba3
call fcn.0044d3a6
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
add esi, ebx
cmp esi, ecx
ja 0x437bb0
test edi, edi
je 0x437ba9
mov edi, dword [edi]
jmp 0x437bab
mov eax, dword [edi]
mov ecx, eax
jmp 0x437b8f
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x437bb5
call fcn.0044d3a6
mov edx, dword [esp + 0x74]
lea ecx, [esp + 0xa4]
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], esi
call fcn.0041bd50
mov al, byte [eax]
mov ecx, dword [esp + 0x20]
cmp byte [ecx + 5], al
jl 0x437c0f
mov eax, 1
jmp 0x437c4e
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
call fcn.0041ce80
jmp 0x437c4e
lea eax, [esp + 0x38]
push eax
mov ecx, ebx
call fcn.0041cee0
jmp 0x437c4e
mov ecx, dword [ebx + 0x18]
sub ecx, dword [ebx + 0x14]
test ecx, 0xffffffe0
jne 0x437c14
or eax, 0xffffffff
jmp 0x437c4e
mov edx, dword [ebx + 0x18]
sub edx, dword [ebx + 0x14]
sar edx, 5
test edx, edx
ja 0x437c26
call fcn.0044d3a6
mov ecx, dword [ebx + 0x14]
lea eax, [esp + 0x38]
push eax
call fcn.00420240
xor ecx, ecx
test eax, eax
setl cl
lea ecx, [ecx + ecx - 1]
mov eax, ecx
jmp 0x437c4e
lea edx, [esp + 0x38]
push edx
mov ecx, ebx
call fcn.004206b0
test eax, eax
jge 0x43802a
mov edi, dword [esp + 0x1c]
call fcn.0041f060
mov esi, eax
xor ecx, ecx
mov eax, edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], esi
cmp dword [edi + 0x3c], ecx
ja 0x437c8e
push ecx
mov ecx, edi
call fcn.0042c6d0
test al, al
je case.default.0x437c99
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esi]
cmp edx, 6
ja case.default.0x437c99
jmp dword [edx*4 + 0x438538]
mov esi, dword [eax + 0x38]
lea edi, [eax + 0x20]
mov eax, dword [edi + 0x1c]
add eax, esi
mov ebx, ecx
cmp esi, eax
jbe 0x437cb6
call fcn.0044d3a6
mov edi, dword [edi]
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], esi
test edi, edi
jne 0x437ce7
call fcn.0044d3a6
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
add esi, ebx
cmp esi, ecx
ja 0x437cf4
test edi, edi
je 0x437ced
mov edi, dword [edi]
jmp 0x437cef
mov eax, dword [edi]
mov ecx, eax
jmp 0x437cd3
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x437cf9
call fcn.0044d3a6
mov edx, dword [esp + 0xe4]
lea ecx, [esp + 0xb4]
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], esi
call fcn.0041bd50
mov al, byte [eax]
xor ecx, ecx
cmp al, 4
sete cl
dec ecx
mov eax, ecx
jmp 0x437f05
mov esi, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
lea edi, [eax + 0x20]
add edx, esi
mov ebx, ecx
cmp esi, edx
jbe 0x437d41
call fcn.0044d3a6
mov edi, dword [edi]
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], esi
test edi, edi
jne 0x437d6f
call fcn.0044d3a6
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
add esi, ebx
cmp esi, ecx
ja 0x437d7c
test edi, edi
je 0x437d75
mov edi, dword [edi]
jmp 0x437d77
mov eax, dword [edi]
mov ecx, eax
jmp 0x437d5b
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x437d81
call fcn.0044d3a6
mov edx, dword [esp + 0x7c]
lea ecx, [esp + 0x8c]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], esi
call fcn.0041bd50
mov al, byte [eax]
mov edx, dword [esp + 0x24]
xor ecx, ecx
cmp al, byte [edx + 4]
sete cl
lea ecx, [ecx + ecx - 1]
mov eax, ecx
jmp 0x437f05
mov esi, dword [eax + 0x38]
lea edi, [eax + 0x20]
mov eax, dword [edi + 0x1c]
add eax, esi
mov ebx, ecx
cmp esi, eax
jbe 0x437dce
call fcn.0044d3a6
mov edi, dword [edi]
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], esi
test edi, edi
jne 0x437dff
call fcn.0044d3a6
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
add esi, ebx
cmp esi, ecx
ja 0x437e0c
test edi, edi
je 0x437e05
mov edi, dword [edi]
jmp 0x437e07
mov eax, dword [edi]
mov ecx, eax
jmp 0x437deb
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x437e11
call fcn.0044d3a6
mov edx, dword [esp + 0x9c]
lea ecx, [esp + 0xac]
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], esi
call fcn.0041bd50
mov al, byte [eax]
mov ecx, dword [esp + 0x24]
cmp byte [ecx + 4], al
jg 0x437eca
mov edi, dword [esp + 0x34]
mov esi, dword [edi + 0x38]
mov edx, dword [edi + 0x3c]
mov ebx, dword [esp + 0x30]
add edi, 0x20
add edx, esi
cmp esi, edx
jbe 0x437e5d
call fcn.0044d3a6
mov edi, dword [edi]
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], esi
test edi, edi
jne 0x437e8e
call fcn.0044d3a6
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
add esi, ebx
cmp esi, ecx
ja 0x437e9b
test edi, edi
je 0x437e94
mov edi, dword [edi]
jmp 0x437e96
mov eax, dword [edi]
mov ecx, eax
jmp 0x437e7a
xor edi, edi
cmp esi, dword [edi + 0x18]
jae 0x437ea0
call fcn.0044d3a6
mov edx, dword [esp + 0xbc]
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], esi
call fcn.0041bd50
mov al, byte [eax]
mov ecx, dword [esp + 0x24]
cmp byte [ecx + 5], al
jl 0x437eca
mov eax, 1
jmp 0x437f05
or eax, 0xffffffff
jmp 0x437f05
lea edx, [esp + 0x30]
push edx
mov ecx, esi
call fcn.0041ce80
jmp 0x437f05
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call fcn.0041cee0
jmp 0x437f05
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
call fcn.0041cf50
jmp 0x437f05
lea edx, [esp + 0x30]
push edx
mov ecx, esi
call fcn.004206b0
test eax, eax
jge 0x43802a
mov ecx, dword [esp + 0x1c]
call fcn.0042c050
test al, al
je 0x43802a
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0xc], 0
jne 0x437f52
push esi
call fcn.004377a0
mov ecx, eax
call fcn.004209a0
test al, al
je 0x437f52
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x38]
cmp eax, 1
je 0x43802a
cmp eax, 2
je 0x4382f8
mov edi, dword [esp + 0x20]
cmp byte [edi + 0x2a], 0x5c
mov byte [esp + 0x16], 1
mov byte [esp + 0x18], 1
jne 0x437f7b
push esi
call fcn.00437820
mov ecx, eax
call fcn.004209a0
test al, al
jne 0x438011
mov ecx, esi
call fcn.0042c030
cmp al, byte [edi + 0x2a]
jne 0x437fd4
lea ecx, [esp + 0x50]
push esi
push ecx
call fcn.0043de30
add esp, 8
mov esi, dword [esp + 0x2c]
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [esp + 0x154], 2
call fcn.004074b0
cmp dword [esp + 0x68], 0x10
mov byte [esp + 0x148], 0
jb 0x437fcc
mov edx, dword [esp + 0x54]
push edx
call fcn.0044cdf6
add esp, 4
mov eax, dword [esi + 0x14]
jmp 0x437968
mov ecx, dword [esp + 0x1c]
call fcn.0042c950
mov bl, al
mov byte [esp + 0x6c], bl
mov ecx, dword [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x30]
push 1
call fcn.004068c4
cmp bl, 0x20
je 0x437970
cmp bl, 9
je 0x437970
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x14]
jmp 0x437968
mov ecx, esi
call fcn.0042c950
mov ebx, dword [esp + 0x2c]
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x40], ecx
mov byte [esp + 0x1b], 1
jmp 0x43802e
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.0042c050
test al, al
je 0x438374
mov edi, dword [esp + 0x20]
cmp dword [edi + 0x38], 1
jne 0x438066
cmp dword [esi + 0xc], 0
jne 0x438066
push esi
call fcn.004377a0
mov ecx, eax
call fcn.004209a0
test al, al
jne 0x43846e
push esi
mov ecx, edi
call fcn.00420820
test eax, eax
jge 0x4383dc
cmp dword [edi + 0x2c], 2
jne 0x43808a
mov edx, dword [esp + 0x40]
push 0xffffffffffffffff
push edx
mov ecx, ebx
call fcn.004023b3
push esi
call fcn.0041f060
mov ecx, eax
call fcn.00420820
push eax
mov ecx, esi
call fcn.0042ca90
mov ecx, esi
call fcn.0042c030
cmp al, 0x20
jne 0x4380d9
lea ebx, [ebx]
mov eax, dword [esi + 0xc]
cmp eax, dword [edi + 0x24]
jl 0x4380c5
cmp byte [edi + 0x28], 0
je 0x4380ff
cmp byte [esp + 0x16], 0
jne 0x4380d9
push 1
mov ecx, esi
call fcn.0042ca90
mov ecx, esi
call fcn.0042c030
cmp al, 0x20
je 0x4380b0
cmp byte [edi + 0x28], 0
je 0x4380ff
cmp byte [esp + 0x16], 0
jne 0x4380ff
mov ecx, dword [esi + 0xc]
cmp dword [edi + 0x24], ecx
lea eax, [edi + 0x24]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x24]
jl 0x4380fb
mov ecx, eax
mov ecx, dword [ecx]
mov dword [eax], ecx
push esi
call fcn.0041e500
mov ecx, eax
call fcn.004209a0
test al, al
je 0x43814d
mov ecx, esi
call fcn.0042c030
cmp al, 9
jne 0x43812d
mov eax, dword [esi + 0xc]
cmp eax, dword [edi + 0x24]
jge 0x43812d
cmp dword [edi + 0x3c], 2
je 0x4383f2
cmp byte [edi + 0x29], 0
je 0x43814d
push 1
mov ecx, esi
call fcn.0042ca90
push esi
call fcn.0041e500
mov ecx, eax
call fcn.004209a0
test al, al
jne 0x438110
push esi
call fcn.0041f060
mov ecx, eax
call fcn.004209a0
push esi
mov byte [esp + 0x19], al
call fcn.0041e500
mov ecx, eax
call fcn.004209a0
mov byte [esp + 0x17], al
mov eax, dword [edi + 0x2c]
cmp eax, 1
jne 0x43818d
cmp dword [esp + 0x28], 0
jne 0x43818d
cmp byte [esp + 0x15], 0
je 0x43818d
mov dl, byte [esp + 0x19]
mov byte [esp + 0x10], dl
cmp byte [esp + 0x18], 0
je 0x4382bf
sub eax, 0
je 0x4382b1
sub eax, 1
je 0x4381de
sub eax, 1
jne 0x4382bf
cmp byte [esp + 0x15], al
jne 0x4382b1
cmp byte [esp + 0x1a], al
jne 0x4382bf
cmp byte [esp + 0x1b], al
jne 0x4382bf
push 0x4846d8
mov ecx, ebx
call fcn.00433690
jmp 0x4382bf
cmp byte [esp + 0x1a], 0
mov al, byte [esp + 0x15]
jne 0x43821b
test al, al
jne 0x43821f
cmp byte [esp + 0x19], al
jne 0x43829e
cmp byte [esp + 0x17], al
jne 0x43829e
mov eax, dword [esi + 0xc]
cmp eax, dword [edi + 0x24]
jl 0x43829e
push 0x4846d8
mov ecx, ebx
call fcn.00433690
jmp 0x43822b
test al, al
je 0x43829e
inc dword [esp + 0x28]
test al, al
jne 0x4382bf
cmp dword [esp + 0x28], 0
jle 0x4382bf
mov eax, dword [esp + 0x28]
push 0xa
dec eax
push eax
lea ecx, [esp + 0x58]
call fcn.00406802
push 0xffffffffffffffff
push 0
push eax
mov ecx, ebx
mov dword [esp + 0x154], 5
call fcn.004074b0
lea ecx, [esp + 0x50]
mov byte [esp + 0x148], 0
call fcn.00402036
cmp byte [esp + 0x10], 0
jne 0x438288
movzx edx, byte [esp + 0x17]
xor ecx, ecx
cmp byte [esp + 0x16], cl
sete cl
or ecx, edx
je 0x438294
push 0x4846dc
mov ecx, ebx
call fcn.00433690
mov dword [esp + 0x28], 0
jmp 0x4382bf
push 1
push 0x4846dc
mov ecx, ebx
call fcn.00406828
jmp 0x43822b
push 1
push 0x4846dc
mov ecx, ebx
call fcn.00406828
mov al, byte [esp + 0x15]
mov cl, byte [esp + 0x17]
mov byte [esp + 0x1a], al
mov byte [esp + 0x19], cl
mov byte [esp + 0x18], 1
test al, al
jne 0x4382e4
mov eax, dword [esi + 0xc]
cmp eax, dword [edi + 0x24]
jl 0x43846a
mov ecx, esi
call fcn.0042c050
test al, al
jne 0x437960
jmp 0x43846e
push 0x24
push str.illegal_document_indicator_in_scalar
lea ecx, [esp + 0x58]
mov dword [esp + 0x70], 0xf
mov dword [esp + 0x6c], 0
mov byte [esp + 0x5c], 0
call fcn.00402341
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 4]
mov ecx, dword [eax + 8]
mov dword [esp + 0x44], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x48], ecx
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0xf4]
mov dword [esp + 0x150], 1
mov dword [esp + 0x54], edx
call fcn.0040df7d
push 0x491144
lea edx, [esp + 0xf0]
push edx
mov dword [esp + 0xf4], vtable.YAML::ParserException.0
call fcn.00454e8c
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x20], 0
je 0x43846e
push str.illegal_EOF_in_scalar
lea ecx, [esp + 0x54]
call fcn.00401fee
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x48], edx
push ecx
lea edx, [esp + 0x48]
push edx
lea ecx, [esp + 0xf4]
mov dword [esp + 0x150], 3
mov dword [esp + 0x54], eax
call fcn.00416b20
push 0x491144
lea eax, [esp + 0xf0]
push eax
call fcn.00454e8c
cmp byte [edi + 0x20], 0
je 0x43846e
mov ecx, dword [esp + 0x1c]
push eax
call fcn.0042ca90
jmp 0x43846e
push 0x28
push str.illegal_tab_when_looking_for_indentation
lea ecx, [esp + 0x58]
mov dword [esp + 0x70], 0xf
mov dword [esp + 0x6c], 0
mov byte [esp + 0x5c], 0
call fcn.00402341
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x48], edx
push ecx
lea edx, [esp + 0x48]
push edx
lea ecx, [esp + 0xf4]
mov dword [esp + 0x150], 4
mov dword [esp + 0x54], eax
call fcn.0040df7d
push 0x491144
lea eax, [esp + 0xf0]
push eax
mov dword [esp + 0xf4], vtable.YAML::ParserException.0
call fcn.00454e8c
mov byte [edi + 0x40], 1
mov esi, dword [esp + 0x20]
cmp byte [esi + 0x30], 0
je 0x43849d
push 1
push 0xffffffffffffffff
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebx
mov byte [esp + 0x1c], 0x20
call fcn.004376e0
cmp eax, dword [ebx + 0x14]
jae 0x43849d
push 0xffffffffffffffff
inc eax
push eax
mov ecx, ebx
call fcn.004023b3
mov eax, dword [esi + 0x34]
cmp eax, 0xffffffff
je 0x4384d8
test eax, eax
jne 0x438502
push 1
push 0xffffffffffffffff
lea edx, [esp + 0x18]
push edx
mov ecx, ebx
mov byte [esp + 0x1c], 0xa
call fcn.004376e0
cmp eax, 0xffffffff
jne 0x4384c9
push 0xffffffffffffffff
push 0
jmp 0x4384fb
mov ecx, dword [ebx + 0x14]
lea edx, [eax + 1]
cmp edx, ecx
jae 0x438502
add eax, 2
jmp 0x4384f8
push 1
push 0xffffffffffffffff
lea eax, [esp + 0x18]
push eax
mov ecx, ebx
mov byte [esp + 0x1c], 0xa
call fcn.004376e0
cmp eax, 0xffffffff
je 0x4384c3
cmp eax, dword [ebx + 0x14]
jae 0x438502
inc eax
push 0xffffffffffffffff
push eax
mov ecx, ebx
call fcn.004023b3
mov eax, ebx
mov ecx, dword [esp + 0x140]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret