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

Disassembly:
push 0xffffffffffffffff
push 0x4a5149
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x74
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x38], ecx
xor ebx, ebx
lea ecx, [esp + 0x14]
push ebx
mov dword [esp + 0x90], 2
call fcn.00475930
mov al, byte [esp + 0x13]
mov dword [esp + 0x68], ebx
mov byte [esp + 0x64], al
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
push ebx
lea ecx, [esp + 0x24]
mov byte [esp + 0x90], 4
call fcn.00475930
push ebx
lea ecx, [esp + 0x28]
mov byte [esp + 0x90], 5
call fcn.00475930
push ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x90], 6
call fcn.00475930
mov cl, byte [esp + 0x13]
mov dword [esp + 0x78], ebx
mov byte [esp + 0x74], cl
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dl, byte [esp + 0x13]
mov dword [esp + 0x48], ebx
mov byte [esp + 0x44], dl
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
push ebx
lea ecx, [esp + 0x30]
mov byte [esp + 0x90], 9
call fcn.00475930
push ebx
lea ecx, [esp + 0x34]
mov byte [esp + 0x90], 0xa
call fcn.00475930
push ebx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x90], 0xb
call fcn.00475930
mov al, byte [esp + 0x13]
mov dword [esp + 0x58], ebx
mov byte [esp + 0x54], al
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
push ebx
push ebx
push ecx
lea edx, [esp + 0xa0]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
mov byte [esp + 0x9c], 0xd
call fcn.00475910
push ecx
mov byte [esp + 0x9c], 0xe
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x4bc29c
call fcn.004759a0
mov ecx, 0x4c45b8
mov byte [esp + 0x9c], 0xd
call fcn.0047aa50
mov eax, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x50]
push eax
push eax
call fcn.0041ca50
mov ecx, dword [esp + 0x58]
add esp, 0xc
mov esi, eax
push ecx
push esi
lea ecx, [esp + 0x4c]
call fcn.0041bcb0
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
push edx
push eax
push eax
mov dword [esp + 0x58], esi
call fcn.0041ca50
add esp, 0xc
mov esi, eax
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x54]
push eax
push esi
call fcn.0041bcb0
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
push ecx
push eax
push eax
mov dword [esp + 0x68], esi
call fcn.0041ca50
mov edx, dword [esp + 0x88]
add esp, 0xc
mov esi, eax
lea ecx, [esp + 0x74]
push edx
push esi
call fcn.0041bcb0
mov dword [esp + 0x7c], esi
xor esi, esi
mov ecx, dword [esp + 0xa0]
cmp ecx, ebx
jne 0x41819d
xor eax, eax
jmp 0x4181a9
mov eax, dword [esp + 0xa4]
sub eax, ecx
sar eax, 2
movsx ecx, si
cmp ecx, eax
jae 0x4181be
push 1
lea ecx, [esp + 0x28]
call fcn.00475ce0
inc esi
jmp 0x41818e
push 0x41
lea ecx, [esp + 0x18]
call fcn.00475ce0
mov dl, byte [0x4c4564]
lea ecx, [esp + 0x14]
push edx
call fcn.00475ce0
lea eax, [esp + 0x98]
lea ecx, [esp + 0x14]
push eax
call fcn.00475a90
push ebx
lea ecx, [esp + 0x18]
call fcn.00475ce0
push ebx
lea ecx, [esp + 0x18]
call fcn.00475ce0
push 5
lea ecx, [esp + 0x18]
call fcn.00475c70
inc al
lea ecx, [esp + 0x14]
push eax
push 5
call fcn.00475c80
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x40], esp
push edx
call fcn.00475910
sub esp, 0x10
lea eax, [esp + 0x27]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
push str.T15.DB
mov byte [esp + 0xa8], 0xf
call fcn.0041b350
lea ecx, [esp + 0x78]
mov byte [esp + 0xa0], 0xd
push ecx
mov ecx, dword [0x4c4560]
call fcn.0042cec0
cmp ax, bx
je 0x41897a
push 1
lea ecx, [esp + 0x68]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x2c]
call fcn.00475ae0
push 3
lea ecx, [esp + 0x68]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x24]
call fcn.00475ae0
mov edx, dword [esp + 0x68]
push ebx
lea ecx, [edx + 0x3c]
call fcn.00475c70
push eax
lea ecx, [esp + 0x24]
call fcn.00475ce0
mov eax, dword [esp + 0x68]
push ebx
lea ecx, [eax + 0x54]
call fcn.00475c70
push 0xd
lea ecx, [esp + 0x68]
mov byte [esp + 0x38], al
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x34]
call fcn.00475ae0
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.00475910
sub esp, 0x10
lea eax, [esp + 0xb0]
mov ecx, esp
mov dword [esp + 0x50], esp
push eax
mov byte [esp + 0xa4], 0x10
call fcn.0041b450
mov ecx, dword [0x4c4560]
mov byte [esp + 0xa0], 0xd
call fcn.0042d710
mov esi, eax
cmp si, bx
jl 0x4181fe
push ecx
lea edx, [esp + 0x34]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.00475910
mov ecx, dword [0x4c4548]
call fcn.004461b0
cmp ax, bx
je 0x4181fe
mov eax, dword [esp + 0x68]
push ebx
lea ecx, [eax + 0x58]
call fcn.00475c70
cmp al, 2
mov eax, dword [esp + 0x34]
jne 0x418393
and eax, 0xff
sub eax, ebx
je 0x4183a8
dec eax
je 0x4186e0
dec eax
je 0x4183a8
jmp 0x4181fe
and eax, 0xff
sub eax, ebx
je 0x4183a8
dec eax
je 0x4186e0
jmp 0x4181fe
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push ebx
call fcn.00475930
mov ecx, 0x4c4524
call fcn.00475ae0
push ebx
lea ecx, [esp + 0x24]
call fcn.00475c70
push eax
mov ecx, 0x4c4524
call fcn.00475ce0
push 1
lea ecx, [esp + 0x24]
call fcn.00475c70
push eax
mov ecx, 0x4c4524
call fcn.00475ce0
push 2
lea ecx, [esp + 0x24]
call fcn.00475c70
push ecx
mov byte [0x4c4566], al
mov ecx, esp
mov dword [esp + 0x44], esp
push 0x4c4524
call fcn.00475910
mov ecx, 0x4c452c
call fcn.00475ae0
push esi
lea ecx, [esp + 0x28]
call fcn.00475c70
cmp al, 1
jne 0x418458
mov ecx, dword [0x4c4548]
call fcn.00442010
test ax, ax
je 0x41844d
mov ecx, dword [0x4c4548]
call fcn.00442380
mov ecx, dword [0x4c4550]
call fcn.00432bc0
push 2
jmp 0x41844e
push ebx
push esi
lea ecx, [esp + 0x2c]
call fcn.00475c80
push esi
lea ecx, [esp + 0x28]
call fcn.00475c70
cmp al, 2
jne 0x4181fe
mov ecx, dword [0x4c4560]
push 0x4c4567
call fcn.0042f8f0
test ax, ax
je 0x41879c
mov al, byte [0x4c4567]
mov ecx, dword [esp + 0x68]
cmp al, 4
push ebx
jne 0x4185c6
add ecx, 0x44
call fcn.00475c70
push 5
lea ecx, [esp + 0x68]
mov byte [esp + 0x20], al
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x1c]
call fcn.00475ae0
push 1
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.00475910
mov eax, dword [esp + 0x24]
mov ecx, dword [0x4c4560]
push eax
call fcn.0042fa80
cmp ax, bx
je 0x4181fe
mov ecx, dword [esp + 0x68]
push ebx
add ecx, 0x4c
call fcn.00475c70
push 6
lea ecx, [esp + 0x68]
mov byte [esp + 0x20], al
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x1c]
call fcn.00475ae0
push 1
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.00475910
mov esi, dword [esp + 0x24]
mov ecx, dword [0x4c4560]
push esi
call fcn.0042fa80
cmp ax, bx
je 0x4181fe
mov ecx, dword [0x4c4560]
push esi
push 0x21
call fcn.0042fbb0
test ax, ax
je 0x4181fe
mov eax, dword [esp + 0x68]
push ebx
lea ecx, [eax + 0x50]
call fcn.00475c70
push 7
lea ecx, [esp + 0x68]
mov byte [esp + 0x20], al
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x1c]
call fcn.00475ae0
push 3
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x48], esp
push edx
call fcn.00475910
mov eax, dword [esp + 0x24]
mov ecx, dword [0x4c4560]
push eax
call fcn.0042fa80
cmp ax, bx
je 0x4181fe
jmp 0x4186e0
add ecx, 0x50
call fcn.00475c70
push 7
lea ecx, [esp + 0x68]
mov byte [esp + 0x20], al
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x1c]
call fcn.00475ae0
mov edx, dword [esp + 0x1c]
mov ecx, dword [0x4c4560]
push edx
push 0xa5
call fcn.0042fbb0
test ax, ax
je 0x4181fe
mov eax, dword [esp + 0x68]
push ebx
lea ecx, [eax + 0x44]
call fcn.00475c70
push 5
lea ecx, [esp + 0x68]
mov byte [esp + 0x20], al
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x1c]
call fcn.00475ae0
mov esi, dword [esp + 0x1c]
mov cl, byte [0x4bc308]
push esi
push ecx
mov ecx, dword [0x4c4560]
call fcn.0042fbb0
test ax, ax
je 0x4181fe
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.00475910
mov al, byte [0x4bc308]
mov ecx, dword [0x4c4560]
push esi
push eax
call fcn.0042fd00
cmp ax, bx
je 0x4181fe
mov ecx, dword [esp + 0x68]
push ebx
add ecx, 0x48
call fcn.00475c70
push 6
lea ecx, [esp + 0x68]
mov byte [esp + 0x20], al
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x1c]
call fcn.00475ae0
mov edx, dword [esp + 0x1c]
mov al, byte [0x4bc308]
mov ecx, dword [0x4c4560]
push edx
push eax
call fcn.0042fbb0
test ax, ax
je 0x4181fe
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.00475910
sub esp, 0x10
lea eax, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x50], esp
push eax
mov byte [esp + 0xa4], 0x11
call fcn.0041b450
mov ecx, dword [0x4c4560]
mov byte [esp + 0xa0], 0xd
call fcn.0042d970
mov esi, eax
cmp si, bx
jl 0x41876d
mov ecx, dword [esp + 0x68]
push ebx
add ecx, 0x58
call fcn.00475c70
cmp al, 2
jne 0x4181fe
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.00475910
movsx eax, si
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0x94], 0xd
call fcn.0041b6f0
mov ecx, eax
call fcn.00475ae0
jmp 0x4181fe
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x28]
push ecx
push 1
push edx
lea ecx, [esp + 0x60]
call fcn.0041c400
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x14]
push eax
push 1
push ecx
lea ecx, [esp + 0x50]
call fcn.0041c400
jmp 0x4181fe
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
cmp esi, edi
mov byte [esp + 0x8c], 0xc
je 0x4187c3
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x4187b0
mov esi, dword [esp + 0x58]
push esi
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x28]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov byte [esp + 0x8c], 0xb
call fcn.00475a40
lea ecx, [esp + 0x30]
mov byte [esp + 0x8c], 0xa
call fcn.00475a40
lea ecx, [esp + 0x2c]
mov byte [esp + 0x8c], 9
call fcn.00475a40
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, eax
mov byte [esp + 0x8c], 8
mov edi, eax
je 0x418834
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x418821
mov esi, dword [esp + 0x48]
push esi
call fcn.00498130
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
add esp, 4
cmp esi, edi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov byte [esp + 0x8c], 7
je 0x418873
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x418860
mov esi, dword [esp + 0x78]
push esi
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov byte [esp + 0x8c], 6
call fcn.00475a40
lea ecx, [esp + 0x24]
mov byte [esp + 0x8c], 5
call fcn.00475a40
lea ecx, [esp + 0x20]
mov byte [esp + 0x8c], 4
call fcn.00475a40
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
cmp esi, eax
mov byte [esp + 0x8c], 3
mov edi, eax
je 0x4188e7
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x4188d4
mov esi, dword [esp + 0x68]
push esi
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov byte [esp + 0x8c], 2
call fcn.00475a40
lea ecx, [esp + 0x94]
mov byte [esp + 0x8c], 1
call fcn.00475a40
lea ecx, [esp + 0x98]
mov byte [esp + 0x8c], bl
call fcn.00475a40
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0xa0]
cmp esi, eax
mov dword [esp + 0x8c], 0xffffffff
mov edi, eax
je 0x418969
push ebx
mov ecx, esi
call fcn.0041cb80
add esi, 4
cmp esi, edi
jne 0x418953
mov esi, dword [esp + 0xa0]
push esi
call fcn.00498130
add esp, 4
xor ax, ax
jmp 0x419149
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
push edx
push eax
lea ecx, [esp + 0x5c]
mov esi, eax
call fcn.0041bcb0
mov dword [esp + 0x5c], esi
xor esi, esi
mov edx, dword [esp + 0x48]
cmp edx, ebx
jne 0x4189a1
xor eax, eax
jmp 0x4189aa
mov eax, dword [esp + 0x4c]
sub eax, edx
sar eax, 2
movsx ecx, si
cmp ecx, eax
jae 0x418ac8
push ecx
lea ecx, [esp + 0x48]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x18]
call fcn.00475ae0
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00475910
sub esp, 0x10
lea edx, [esp + 0x27]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
push str.T15.DB
mov byte [esp + 0xa8], 0x13
call fcn.0041b350
mov ecx, dword [0x4c4560]
lea eax, [esp + 0x78]
push eax
mov byte [esp + 0xa4], 0xd
call fcn.0042cec0
cmp ax, bx
je 0x418ac4
mov ecx, dword [esp + 0x68]
push ebx
add ecx, 0x54
call fcn.00475c70
push 1
lea ecx, [esp + 0x68]
mov byte [esp + 0x38], al
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x2c]
call fcn.00475ae0
cmp byte [esp + 0x34], 2
je 0x418abe
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0x14]
push edx
push 1
push eax
lea ecx, [esp + 0x60]
call fcn.0041c400
push 2
lea ecx, [esp + 0x68]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00475910
lea ecx, [esp + 0x30]
call fcn.00475ae0
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [0x4c4560]
call fcn.0042e470
mov eax, dword [esp + 0x7c]
lea edx, [esp + 0x2c]
push edx
push 1
push eax
lea ecx, [esp + 0x80]
call fcn.0041c400
inc esi
jmp 0x418995
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x58]
cmp esi, ebx
jne 0x418ad4
xor ecx, ecx
jmp 0x418add
mov ecx, dword [esp + 0x5c]
sub ecx, esi
sar ecx, 2
cmp edx, ebx
jne 0x418ae5
xor eax, eax
jmp 0x418aee
mov eax, dword [esp + 0x4c]
sub eax, edx
sar eax, 2
cmp ecx, eax
ja 0x418b6e
mov ebp, dword [esp + 0x5c]
mov edi, edx
mov eax, ebp
cmp esi, eax
je 0x418b28
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push esi
call fcn.00475910
mov ecx, edi
call fcn.00475ae0
add esi, 4
add edi, 4
cmp esi, ebp
jne 0x418afe
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
mov ebp, dword [esp + 0x4c]
cmp edi, ebp
je 0x418b4b
push ebx
mov ecx, edi
call fcn.0041cb80
add edi, 4
cmp edi, ebp
jne 0x418b30
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
cmp esi, ebx
jne 0x418b5d
xor eax, eax
lea eax, [edx + eax*4]
mov dword [esp + 0x4c], eax
jmp 0x418c36
sub eax, esi
sar eax, 2
lea eax, [edx + eax*4]
mov dword [esp + 0x4c], eax
jmp 0x418c36
lea ecx, [esp + 0x54]
call fcn.0041b6d0
lea ecx, [esp + 0x44]
mov esi, eax
call fcn.0041bab0
cmp esi, eax
ja 0x418bd3
mov esi, dword [esp + 0x58]
lea ecx, [esp + 0x44]
call fcn.0041b6d0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x58]
lea esi, [esi + eax*4]
push ecx
push esi
push edx
call fcn.0041ca50
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x68]
add esp, 0xc
push eax
push ecx
push esi
lea ecx, [esp + 0x50]
call fcn.0041bce0
lea ecx, [esp + 0x54]
call fcn.0041b6d0
mov edx, dword [esp + 0x48]
lea eax, [edx + eax*4]
mov dword [esp + 0x4c], eax
jmp 0x418c36
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push edx
push eax
lea ecx, [esp + 0x4c]
call fcn.0041bcb0
mov ecx, dword [esp + 0x48]
push ecx
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x54]
call fcn.0041b6d0
cmp eax, ebx
jge 0x418c02
xor eax, eax
lea edx, [eax*4]
push edx
call fcn.00498866
mov ecx, dword [esp + 0x5c]
add esp, 4
mov dword [esp + 0x48], eax
push eax
mov eax, dword [esp + 0x60]
push eax
push ecx
lea ecx, [esp + 0x50]
call fcn.0041bce0
mov edx, dword [esp + 0x48]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
cmp edx, ebx
je 0x418c47
sub eax, edx
test eax, 0xfffffffc
jne 0x418e5d
push ebx
push 1
push ecx
lea edx, [esp + 0xa0]
mov ecx, esp
mov dword [esp + 0x4c], esp
push edx
call fcn.00475910
push ecx
mov byte [esp + 0x9c], 0x14
mov ecx, esp
mov dword [esp + 0x4c], esp
push 6
push 0x4bc28c
call fcn.004759a0
mov ecx, 0x4c45b8
mov byte [esp + 0x9c], 0xd
call fcn.0047aa50
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
cmp eax, ecx
mov byte [esp + 0x8c], 0xc
mov edi, ecx
mov esi, eax
je 0x418cb5
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x418ca3
mov eax, dword [esp + 0x58]
push eax
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x28]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov byte [esp + 0x8c], 0xb
call fcn.00475a40
lea ecx, [esp + 0x30]
mov byte [esp + 0x8c], 0xa
call fcn.00475a40
lea ecx, [esp + 0x2c]
mov byte [esp + 0x8c], 9
call fcn.00475a40
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, eax
mov byte [esp + 0x8c], 8
mov edi, eax
je 0x418d25
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x418d13
mov esi, dword [esp + 0x48]
push esi
call fcn.00498130
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
add esp, 4
cmp esi, eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov byte [esp + 0x8c], 7
mov edi, eax
je 0x418d65
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x418d53
mov esi, dword [esp + 0x78]
push esi
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov byte [esp + 0x8c], 6
call fcn.00475a40
lea ecx, [esp + 0x24]
mov byte [esp + 0x8c], 5
call fcn.00475a40
lea ecx, [esp + 0x20]
mov byte [esp + 0x8c], 4
call fcn.00475a40
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
cmp eax, ecx
mov byte [esp + 0x8c], 3
mov edi, ecx
mov esi, eax
je 0x418dda
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x418dc8
mov eax, dword [esp + 0x68]
push eax
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov byte [esp + 0x8c], 2
call fcn.00475a40
lea ecx, [esp + 0x94]
mov byte [esp + 0x8c], 1
call fcn.00475a40
lea ecx, [esp + 0x98]
mov byte [esp + 0x8c], bl
call fcn.00475a40
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0xa0]
cmp esi, eax
mov dword [esp + 0x8c], 0xffffffff
mov edi, eax
je 0x41913c
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x418e4a
jmp 0x419135
mov al, byte [esp + 0x74]
sub esp, 0x10
mov ebp, esp
mov dword [esp + 0x50], esp
mov byte [ebp], al
mov ecx, dword [esp + 0x88]
cmp ecx, ebx
jne 0x418e7c
xor eax, eax
jmp 0x418e88
mov eax, dword [esp + 0x8c]
sub eax, ecx
sar eax, 2
cmp eax, ebx
jge 0x418e8e
xor eax, eax
lea ecx, [eax*4]
push ecx
call fcn.00498866
mov dword [ebp + 4], eax
mov ecx, dword [esp + 0x90]
mov edi, dword [esp + 0x8c]
add esp, 4
mov esi, eax
cmp edi, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x44], esi
je 0x418ee7
mov dword [esp + 0x4c], esi
cmp esi, ebx
mov byte [esp + 0x9c], 0x15
je 0x418ed5
push edi
mov ecx, esi
call fcn.00475910
mov eax, dword [esp + 0x2c]
add edi, 4
add esi, 4
cmp edi, eax
mov dword [esp + 0x44], esi
jne 0x418ebd
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], esi
push ecx
lea edx, [esp + 0xa8]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
mov byte [esp + 0xa4], 0x16
call fcn.00475910
mov ecx, dword [0x4c4560]
mov byte [esp + 0xa0], 0xd
mov eax, dword [ecx]
call dword [eax + 4]
cmp ax, bx
jl 0x418f70
movsx esi, ax
push esi
lea ecx, [esp + 0x48]
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00475910
push esi
lea ecx, [esp + 0x7c]
mov byte [esp + 0x94], 0x17
call fcn.0041b6f0
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push eax
call fcn.00475910
mov ecx, dword [esp + 0x40]
mov byte [esp + 0x94], 0xd
call fcn.00419180
jmp 0x418e5d
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
cmp esi, edi
mov byte [esp + 0x8c], 0xc
je 0x418f96
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x418f84
mov esi, dword [esp + 0x58]
push esi
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x28]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov byte [esp + 0x8c], 0xb
call fcn.00475a40
lea ecx, [esp + 0x30]
mov byte [esp + 0x8c], 0xa
call fcn.00475a40
lea ecx, [esp + 0x2c]
mov byte [esp + 0x8c], 9
call fcn.00475a40
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp esi, eax
mov byte [esp + 0x8c], 8
mov edi, eax
je 0x419006
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x418ff4
mov esi, dword [esp + 0x48]
push esi
call fcn.00498130
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
add esp, 4
cmp esi, eax
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov byte [esp + 0x8c], 7
mov edi, eax
je 0x419046
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x419034
mov esi, dword [esp + 0x78]
push esi
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov byte [esp + 0x8c], 6
call fcn.00475a40
lea ecx, [esp + 0x24]
mov byte [esp + 0x8c], 5
call fcn.00475a40
lea ecx, [esp + 0x20]
mov byte [esp + 0x8c], 4
call fcn.00475a40
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
cmp eax, ecx
mov byte [esp + 0x8c], 3
mov edi, ecx
mov esi, eax
je 0x4190bb
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x4190a9
mov eax, dword [esp + 0x68]
push eax
call fcn.00498130
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov byte [esp + 0x8c], 2
call fcn.00475a40
lea ecx, [esp + 0x94]
mov byte [esp + 0x8c], 1
call fcn.00475a40
lea ecx, [esp + 0x98]
mov byte [esp + 0x8c], bl
call fcn.00475a40
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0xa0]
cmp esi, eax
mov dword [esp + 0x8c], 0xffffffff
mov edi, eax
je 0x41913c
mov ecx, esi
call fcn.00475a40
add esi, 4
cmp esi, edi
jne 0x419127
mov esi, dword [esp + 0xa0]
push esi
call fcn.00498130
add esp, 4
mov ax, 1
mov ecx, dword [esp + 0x84]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x80
ret 0x18