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

Disassembly:
sub esp, 0x2cc
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x94]
test eax, eax
push edi
mov dword [esi + 0xa4], 0
jne 0x430b00
mov edi, dword [esp + 0x2dc]
mov ecx, dword [esi + 0x38]
mov edx, dword [esp + 0x2e0]
mov eax, dword [esi + 0x34]
sub ecx, edx
sub eax, edi
mov edi, ecx
mov ecx, dword [esi + 0x70]
test ecx, ecx
mov ebx, eax
je 0x430a49
cmp word [ecx + 0xa], 0
je 0x430a49
mov eax, dword [ecx]
push 0
call dword [eax]
movzx eax, word [eax + 0x22]
jmp 0x430a4b
xor eax, eax
cdq
sub eax, edx
sar eax, 1
sub edi, eax
mov eax, dword [esi + 0x9c]
lea ecx, [ebx - 0x1f4]
add ebx, 0x1f4
sub edi, 3
cmp eax, 1
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0xffffff9c
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
jbe 0x430ac3
push eax
lea edx, [esi + 4]
push edx
push str._s__u
lea eax, [esp + 0x1e0]
push 0x104
push eax
call fcn.0062ff8d
mov eax, dword [0x6ec29c]
add esp, 0x14
push 0
push eax
push 0
push 9
lea eax, [esp + 0x1c]
push 0xffffffffffffffff
push eax
mov byte [esp + 0x2ef], 0
lea eax, [esp + 0x1ec]
jmp 0x430ad9
mov eax, dword [0x6ec29c]
push 0
push eax
push 0
push 9
lea eax, [esp + 0x1c]
push 0xffffffffffffffff
push eax
lea eax, [esi + 4]
mov ecx, dword [0x74e914]
mov edx, dword [ecx]
push 0xffffffffffffffff
push eax
call dword [edx + 0x94]
pop edi
mov dword [esi + 0xa4], 1
pop esi
pop ebx
add esp, 0x2cc
ret 8
cmp byte [esi + 0xa0], 0xf
jbe 0x430b10
mov byte [esi + 0xa0], 0xf
mov ecx, dword [esi + 0x38]
mov edx, dword [esp + 0x2e0]
mov eax, dword [esi + 0x34]
sub ecx, edx
push ebp
mov ebp, dword [esp + 0x2e0]
mov edi, ecx
mov ecx, dword [esi + 0x70]
sub eax, ebp
test ecx, ecx
mov ebx, eax
je 0x430b47
cmp word [ecx + 0xa], 0
je 0x430b47
mov edx, dword [ecx]
push 0
call dword [edx]
movzx eax, word [eax + 0x22]
jmp 0x430b49
xor eax, eax
cdq
sub eax, edx
sar eax, 1
sub edi, eax
mov eax, dword [esi + 0x94]
lea ecx, [ebx - 0x1f4]
add ebx, 0x1f4
sub edi, 3
test eax, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0xffffff9c
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edi
je 0x430ba0
mov eax, dword [eax]
cmp eax, 0x2a0
je 0x4315a2
cmp eax, 0x2a1
je 0x4315a2
cmp eax, 0x2a2
je 0x4315a2
mov al, byte [esi + 0xa1]
or ebp, 0xffffffff
test al, 0x10
mov dword [esp + 0x20], ebp
je 0x430bb8
mov ebp, 0xffb800ed
jmp 0x430bd7
test al, 4
je 0x430bc3
mov ebp, 0xff00ff89
jmp 0x430bd7
test al, 2
je 0x430bce
mov ebp, 0xffffde03
jmp 0x430bd7
test al, 1
je 0x430bd7
mov ebp, 0xff0056ea
mov eax, dword [esi + 0x9c]
cmp eax, 1
jbe 0x430bfa
push eax
lea edx, [esp + 0x17c]
push 0x6d3898
push edx
call fcn.0062f64e
add esp, 0xc
jmp 0x430c02
mov byte [esp + 0x178], 0
lea ebx, [esi + 4]
push 0x6d190c
push ebx
call fcn.00630920
add esp, 8
test eax, eax
je 0x430c50
inc eax
push eax
lea eax, [esp + 0x48]
push eax
call fcn.0062f64e
lea ecx, [esp + 0x4c]
push ecx
call fcn.0062f7d0
or edi, 0xffffffff
push ebx
sub edi, eax
call fcn.0062f7d0
add edi, eax
push edi
lea edx, [esp + 0x38]
push ebx
push edx
call fcn.0062fff0
add esp, 0x1c
mov byte [esp + edi + 0x24], 0
jmp 0x430c6d
lea eax, [esp + 0x24]
push ebx
push eax
call fcn.0062f64e
lea ecx, [esp + 0x4c]
push 0x6d1416
push ecx
call fcn.0062f64e
add esp, 0x10
test byte [esi + 0xa1], 4
je 0x430e3f
mov al, byte [esi + 0xa0]
xor edi, edi
test al, al
mov byte [esp + 0x1d8], 0
jbe 0x430cb1
mov edi, edi
lea edx, [esp + 0x1d8]
push 0x6d1d4c
push edx
call fcn.00630970
movzx eax, byte [esi + 0xa0]
add esp, 8
inc edi
cmp edi, eax
jl 0x430c90
lea ecx, [esp + 0x1d8]
push ecx
call fcn.0062f7d0
mov byte [esp + eax + 0x1dc], 0
movzx eax, byte [esi + 0xa0]
add esp, 4
dec eax
cmp eax, 0xa
ja case.default.0x430cd6
jmp dword [eax*4 + 0x431648]
or edi, 0xffffffff
jmp 0x430d09
mov edi, 0xff0056ea
jmp 0x430d09
mov edi, 0xffffde03
jmp 0x430d09
mov edi, 0xff00ff00
jmp 0x430d09
mov edi, 0xffff7100
jmp 0x430d09
mov edi, 0xffd300ed
jmp 0x430d09
mov edi, dword [esp + 0x20]
lea edx, [esp + 0x1d8]
push edx
call fcn.0062f7d0
add esp, 4
test eax, eax
jbe 0x430d4e
mov edx, dword [0x6ec29c]
mov ecx, dword [0x74e914]
mov eax, dword [ecx]
push 0
push edx
push 0
push 9
push edi
lea edx, [esp + 0x24]
push edx
push 0xffffffffffffffff
lea edx, [esp + 0x1f4]
push edx
call dword [eax + 0x94]
inc dword [esi + 0xa4]
mov eax, dword [esi + 0x9c]
cmp eax, 1
jbe 0x430d73
push eax
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x7c]
push str._s__u
push ecx
call fcn.0062f64e
add esp, 0x10
jmp 0x430d8a
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x78]
push 0x6d1c40
push eax
call fcn.0062f64e
add esp, 0xc
lea ecx, [esp + 0x74]
push ecx
call fcn.0062f7d0
add esp, 4
test eax, eax
jbe 0x430dda
mov eax, dword [esi + 0xa4]
test eax, eax
jle 0x430daa
sub dword [esp + 0x1c], 0xf
mov eax, dword [0x6ec29c]
mov ecx, dword [0x74e914]
mov edx, dword [ecx]
push 0
push eax
push 0
push 9
push ebp
lea eax, [esp + 0x24]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x90]
push eax
call dword [edx + 0x94]
inc dword [esi + 0xa4]
lea ecx, [esp + 0x24]
push ecx
call fcn.0062f7d0
add esp, 4
test eax, eax
jbe 0x431639
mov eax, dword [esi + 0xa4]
test eax, eax
jle 0x430dfe
sub dword [esp + 0x1c], 0xf
mov eax, dword [0x6ec29c]
mov ecx, dword [0x74e914]
mov edx, dword [ecx]
push 0
push eax
push 0
push 9
push ebp
lea eax, [esp + 0x24]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x40]
push eax
call dword [edx + 0x94]
mov eax, dword [esi + 0xa4]
pop ebp
inc eax
pop edi
mov dword [esi + 0xa4], eax
pop esi
pop ebx
add esp, 0x2cc
ret 8
mov ecx, dword [esi + 0x94]
mov eax, dword [ecx + 0x24]
cmp eax, 0x10
je 0x430e5b
cmp eax, 0x25
je 0x430e5b
cmp eax, 0x1b
jne 0x430f5a
mov eax, dword [ecx]
cmp eax, 0x1fa
je 0x431365
cmp eax, 0x1fb
je 0x431365
cmp eax, 0x204
je 0x431365
cmp eax, 0x205
je 0x431365
cmp eax, 0x20e
je 0x431365
cmp eax, 0x20f
je 0x431365
cmp eax, 0x218
je 0x431365
cmp eax, 0x219
je 0x431365
cmp eax, 0x222
je 0x431365
cmp eax, 0x223
je 0x431365
cmp eax, 0x228
je 0x431365
cmp eax, 0x231
je 0x431365
cmp eax, 0x232
je 0x431365
cmp eax, 0x233
je 0x431365
cmp eax, 0x234
je 0x431365
cmp eax, 0x235
je 0x431365
cmp eax, 0x354
je 0x431365
cmp eax, 0x36d
je 0x431365
cmp eax, 0x5e3
je 0x431365
cmp eax, 0x5ed
je 0x431365
cmp eax, 0x5f7
je 0x431365
cmp eax, 0x601
je 0x431365
cmp eax, 0x60b
je 0x431365
mov byte [esp + 0x74], 0
mov eax, dword [ecx]
cmp eax, 0x2a6
je 0x4310f0
cmp eax, 0x2a7
je 0x431023
cmp eax, 0x2a9
je 0x431023
cmp eax, 0x318
je 0x431023
cmp eax, 0x31a
je 0x431023
cmp eax, 0x31b
je 0x431023
cmp eax, 0x31f
je 0x431023
cmp eax, 0x492
je 0x431023
cmp eax, 0x10cc
je 0x431023
cmp eax, 0x317
je 0x431023
cmp eax, 0x316
je 0x431023
cmp eax, 0x2a8
je 0x431023
cmp eax, 0x2ec
je 0x431023
cmp eax, 0x2ed
je 0x431023
cmp eax, 0x2ee
je 0x431023
cmp eax, 0x2ef
je 0x431023
mov al, byte [esi + 0xa0]
or edi, 0xffffffff
xor ebx, ebx
test al, al
jbe 0x43115b
lea esp, [esp]
lea ecx, [esp + 0x74]
push 0x6d1d4c
push ecx
call fcn.00630970
movzx edx, byte [esi + 0xa0]
add esp, 8
inc ebx
cmp ebx, edx
jl 0x431000
jmp 0x43115b
cmp eax, 0x2a6
je 0x4310f0
cmp eax, 0x2a7
je 0x4310f0
cmp eax, 0x2a9
je 0x4310dd
cmp eax, 0x318
je 0x4310b0
cmp eax, 0x31a
je 0x4310b0
cmp eax, 0x31b
je 0x4310b0
cmp eax, 0x31f
je 0x4310b0
cmp eax, 0x492
je 0x4310b0
cmp eax, 0x10cc
je 0x4310b0
cmp eax, 0x317
je 0x4310a3
cmp eax, 0x316
je 0x4310a3
cmp eax, 0x2a8
je 0x4310a3
cmp eax, 0x2ec
je 0x4310a3
cmp eax, 0x2ed
je 0x4310a3
cmp eax, 0x2ee
je 0x4310a3
cmp eax, 0x2ef
jne case.0x4310fc.0
or ebp, 0xffffffff
mov edi, 0xff00ff89
jmp 0x431131
cmp eax, 0x2a9
je 0x4310dd
cmp eax, 0x31b
je 0x4310dd
cmp eax, 0x31f
je 0x4310dd
cmp eax, 0x492
je 0x4310dd
cmp eax, 0x10cc
je 0x4310dd
or ebp, 0xffffffff
mov edi, 0xff00ff89
jmp 0x431131
mov ebp, dword [ecx + 0x248]
or ebp, 0xff000000
mov edi, 0xff00ff89
jmp 0x431131
movzx ecx, byte [esi + 0xa0]
cmp ecx, 0xb
ja case.0x4310fc.0
jmp dword [ecx*4 + 0x431674]
or ebp, 0xffffffff
mov edi, 0xff0056ea
jmp 0x431131
or ebp, 0xffffffff
mov edi, 0xffffde03
jmp 0x431131
or ebp, 0xffffffff
mov edi, 0xff00ff00
jmp 0x431131
or ebp, 0xffffffff
mov edi, 0xffd300ed
jmp 0x431131
or ebp, 0xffffffff
or edi, 0xffffffff
cmp eax, 0x2a6
je 0x43113f
cmp eax, 0x2a7
jne 0x43115b
movzx eax, byte [esi + 0xa0]
mov ecx, dword [eax*4 + 0x727c64]
push ecx
lea edx, [esp + 0x78]
push edx
call fcn.00630970
add esp, 8
mov eax, dword [esi + 0x94]
mov ecx, dword [eax + 0x24]
cmp ecx, 0x1b
je 0x431173
cmp ecx, 0x31
je 0x431173
cmp ecx, 0x1f
jne 0x431184
mov ebp, dword [eax + 0x248]
or ebp, 0xff000000
mov edi, 0xff00ff89
lea eax, [esp + 0x74]
push eax
call fcn.0062f7d0
lea ecx, [esp + 0x78]
push ecx
mov byte [esp + eax + 0x7c], 0
call fcn.0062f7d0
add esp, 8
test eax, eax
jbe 0x4311e2
mov edx, dword [0x6ec29c]
push 0
push edx
push 0
push 9
push edi
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x8c]
push ecx
mov ecx, dword [0x74e914]
call fcn.0041f760
mov ecx, dword [esi + 0xa4]
mov eax, dword [esp + 0x1c]
inc ecx
sub eax, 0xf
mov dword [esi + 0xa4], ecx
mov dword [esp + 0x1c], eax
lea edx, [esp + 0x44]
push edx
mov byte [esp + 0x78], 0
call fcn.0062f7d0
add esp, 4
test eax, eax
jbe 0x4312dd
mov eax, dword [0x6ec29c]
push 0
push eax
push 0
push 9
push ebp
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [0x74e914]
lea edx, [esp + 0x3c]
push edx
call fcn.0041f760
mov ecx, dword [esi + 0xa4]
mov eax, dword [esi + 0x9c]
inc ecx
cmp eax, 1
mov dword [esi + 0xa4], ecx
jbe 0x43126e
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x78]
push ecx
call fcn.00630970
lea edx, [esp + 0x7c]
push 0x6d1db4
push edx
call fcn.00630970
lea eax, [esp + 0x188]
push eax
lea ecx, [esp + 0x88]
push ecx
call fcn.00630970
add esp, 0x18
jmp 0x431280
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x78]
push eax
call fcn.00630970
add esp, 8
lea ecx, [esp + 0x74]
push ecx
call fcn.0062f7d0
mov edx, dword [0x6ec29c]
add esp, 4
push 0
push edx
mov byte [esp + eax + 0x7c], 0
mov eax, dword [esp + 0x24]
push 0
sub eax, 0xf
push 9
mov dword [esp + 0x2c], eax
push ebp
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x8c]
push ecx
mov ecx, dword [0x74e914]
call fcn.0041f760
mov eax, dword [esi + 0xa4]
pop ebp
inc eax
pop edi
mov dword [esi + 0xa4], eax
pop esi
pop ebx
add esp, 0x2cc
ret 8
cmp dword [esi + 0x9c], 1
jbe 0x43131e
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x78]
push eax
call fcn.00630970
lea ecx, [esp + 0x7c]
push 0x6d1db4
push ecx
call fcn.00630970
lea edx, [esp + 0x188]
push edx
lea eax, [esp + 0x88]
push eax
call fcn.00630970
add esp, 0x18
jmp 0x431330
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x78]
push edx
call fcn.00630970
add esp, 8
lea eax, [esp + 0x74]
push eax
call fcn.0062f7d0
mov ecx, dword [0x6ec29c]
add esp, 4
push 0
push ecx
push 0
push 9
push ebp
lea edx, [esp + 0x24]
mov byte [esp + eax + 0x88], 0
push edx
lea eax, [esp + 0x8c]
push eax
jmp 0x4312b8
movzx eax, byte [esi + 0xa0]
cmp eax, 9
mov byte [esp + 0x74], 0
ja case.default.0x431376
jmp dword [eax*4 + 0x4316a4]
or edi, 0xffffffff
jmp 0x4313a2
mov edi, 0xff0056ea
jmp 0x4313a2
mov edi, 0xffffde03
jmp 0x4313a2
mov edi, 0xff00ff00
jmp 0x4313a2
mov edi, 0xffd300ed
jmp 0x4313a2
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x44]
push ecx
call fcn.0062f7d0
add esp, 4
test eax, eax
jbe 0x4314cb
mov edx, dword [0x6ec29c]
push 0
push edx
push 0
push 9
push edi
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [0x74e914]
call fcn.0041f760
mov ecx, dword [esi + 0xa4]
mov eax, dword [esi + 0x9c]
inc ecx
lea edx, [esp + 0x44]
cmp eax, 1
push edx
lea eax, [esp + 0x78]
mov dword [esi + 0xa4], ecx
push eax
jbe 0x431458
call fcn.00630970
lea ecx, [esp + 0x7c]
push 0x6d1db4
push ecx
call fcn.00630970
movzx edx, byte [esi + 0xa0]
mov eax, dword [edx*4 + 0x727c64]
push eax
lea ecx, [esp + 0x88]
push ecx
call fcn.00630970
lea edx, [esp + 0x8c]
push 0x6d1db4
push edx
call fcn.00630970
lea eax, [esp + 0x198]
push eax
lea ecx, [esp + 0x98]
push ecx
call fcn.00630970
add esp, 0x28
jmp 0x43148b
call fcn.00630970
lea ecx, [esp + 0x7c]
push 0x6d1db4
push ecx
call fcn.00630970
movzx edx, byte [esi + 0xa0]
mov eax, dword [edx*4 + 0x727c64]
push eax
lea ecx, [esp + 0x88]
push ecx
call fcn.00630970
add esp, 0x18
lea edx, [esp + 0x74]
push edx
call fcn.0062f7d0
mov byte [esp + eax + 0x78], 0
mov eax, dword [esi + 0xa4]
add esp, 4
test eax, eax
jle 0x4314ac
sub dword [esp + 0x1c], 0xf
mov eax, dword [0x6ec29c]
push 0
push eax
push 0
push 9
push edi
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x8c]
push edx
jmp 0x4312b8
cmp dword [esi + 0x9c], 1
lea eax, [esp + 0x24]
lea ecx, [esp + 0x74]
push eax
push ecx
jbe 0x43153a
call fcn.00630970
lea edx, [esp + 0x7c]
push 0x6d1db4
push edx
call fcn.00630970
movzx eax, byte [esi + 0xa0]
mov ecx, dword [eax*4 + 0x727c64]
push ecx
lea edx, [esp + 0x88]
push edx
call fcn.00630970
lea eax, [esp + 0x8c]
push 0x6d1db4
push eax
call fcn.00630970
lea ecx, [esp + 0x198]
push ecx
lea edx, [esp + 0x98]
push edx
call fcn.00630970
add esp, 0x28
jmp 0x43156d
call fcn.00630970
lea edx, [esp + 0x7c]
push 0x6d1db4
push edx
call fcn.00630970
movzx eax, byte [esi + 0xa0]
mov ecx, dword [eax*4 + 0x727c64]
push ecx
lea edx, [esp + 0x88]
push edx
call fcn.00630970
add esp, 0x18
lea eax, [esp + 0x74]
push eax
call fcn.0062f7d0
mov ecx, dword [0x6ec29c]
add esp, 4
push 0
push ecx
push 0
push 9
push edi
lea edx, [esp + 0x24]
mov byte [esp + eax + 0x88], 0
push edx
lea eax, [esp + 0x8c]
push eax
jmp 0x4312b8
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
mov ebx, dword [esp + 0x2e4]
sub eax, ebp
lea edx, [eax - 0x1f4]
sub ecx, ebx
add eax, 0x1f4
mov dword [esp + 0x64], edx
lea edx, [ecx - 0xaa]
add ecx, 0xffffff6a
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
xor eax, eax
mov byte [esp + 0x198], 0x30
mov ecx, 0xf
lea edi, [esp + 0x199]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
add esi, 4
push esi
stosb byte es:[edi], al
lea eax, [esp + 0x19c]
push 0x6d1c40
push eax
mov dword [esp + 0x74], edx
call fcn.0062f64e
mov eax, dword [0x6ec29c]
mov ecx, dword [0x74e914]
mov edx, dword [ecx]
add esp, 0xc
push 0
push eax
push 0
push 9
push 0xffffffffffffffff
lea eax, [esp + 0x78]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x1b4]
push eax
call dword [edx + 0x94]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x2cc
ret 8