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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x497a5a
add esp, 0xffffff80
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00497ed0
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
cmp ecx, eax
jae 0x4972fe
jmp 0x497a54
sub ecx, eax
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
add edx, eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ebx
test ebx, ebx
je 0x497322
jmp 0x4973de
cmp dword [esp + 0x30], 1
setg dl
mov byte [esp + 0x20], dl
jg 0x497332
jmp 0x497351
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
cmp ecx, 1
ja 0x497344
jmp 0x497a4a
cmp byte [edx + 1], 0x3a
setne al
mov byte [esp + 0x20], al
jmp 0x497353
jmp 0x497353
movzx eax, byte [esp + 0x20]
test al, al
jne 0x49735e
jmp 0x497394
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00497a70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
sub esp, 0xffffff80
ret
jmp 0x497396
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x4b0c7b]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0044b920
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
sub esp, 0xffffff80
ret
test ebx, ebx
ja 0x4973e7
jmp 0x497a41
movzx eax, byte [edx]
mov byte [esp + 0x27], al
mov byte [esp], al
call fcn.0048b220
movzx eax, byte [esp + 4]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x88]
mov dword [esp + 0x38], eax
lea edi, [esp + 0x5c]
xor eax, eax
call fcn.0045dab7
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x3c], 0
movzx eax, byte [esp + 0x1f]
test al, al
jne 0x49745e
jmp 0x497481
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov byte [esp + 4], 0x5c
call fcn.00496f30
mov dword [esp + 0x34], 1
mov dword [esp + 0x3c], 1
jmp 0x497483
jmp 0x497483
jmp 0x497485
mov edx, dword [esp + 0x34]
cmp dword [esp + 0x38], edx
jg 0x497494
jmp 0x4977a6
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
cmp ecx, eax
ja 0x4974af
jmp 0x497a3c
add eax, edx
movzx eax, byte [eax]
mov byte [esp + 0x26], al
mov byte [esp], al
call fcn.0048b220
movzx eax, byte [esp + 4]
mov byte [esp + 0x20], al
test al, al
jne 0x4974cf
jmp 0x4974df
jmp 0x4974d1
mov edx, dword [esp + 0x34]
inc edx
mov dword [esp + 0x34], edx
jmp 0x4978ad
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
cmp ecx, eax
ja 0x4974fa
jmp 0x497a37
add edx, eax
cmp byte [edx], 0x2e
sete dl
mov byte [esp + 0x2f], dl
je 0x49750a
jmp 0x49751c
mov edx, dword [esp + 0x34]
inc edx
cmp dword [esp + 0x38], edx
sete dl
mov byte [esp + 0x2f], dl
jmp 0x49751e
jmp 0x49751e
movzx edx, byte [esp + 0x2f]
test dl, dl
jne 0x497529
jmp 0x497539
jmp 0x49752b
mov edx, dword [esp + 0x34]
inc edx
mov dword [esp + 0x34], edx
jmp 0x4978ad
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
cmp ecx, eax
ja 0x497554
jmp 0x497a32
add edx, eax
cmp byte [edx], 0x2e
sete dl
mov byte [esp + 0x2e], dl
je 0x497564
jmp 0x4975a4
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x34]
lea eax, [ebx + 1]
cmp ecx, eax
ja 0x497582
jmp 0x497a2d
lea eax, [ebx + edx + 1]
movzx eax, byte [eax]
mov byte [esp + 0x25], al
mov byte [esp], al
call fcn.0048b220
movzx eax, byte [esp + 4]
mov byte [esp + 0x2d], al
mov byte [esp + 0x2e], al
jmp 0x4975a6
jmp 0x4975a6
movzx edx, byte [esp + 0x2e]
test dl, dl
jne 0x4975b1
jmp 0x4975c1
jmp 0x4975b3
mov edx, dword [esp + 0x34]
inc edx
mov dword [esp + 0x34], edx
jmp 0x497930
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
cmp ecx, eax
ja 0x4975dc
jmp 0x49792b
add edx, eax
cmp byte [edx], 0x2e
sete dl
mov byte [esp + 0x2c], dl
je 0x4975ec
jmp 0x49761a
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x34]
lea eax, [ebx + 1]
cmp ecx, eax
ja 0x49760a
jmp 0x497926
lea edx, [ebx + edx + 1]
cmp byte [edx], 0x2e
sete dl
mov byte [esp + 0x2c], dl
jmp 0x49761c
jmp 0x49761c
movzx edx, byte [esp + 0x2c]
mov byte [esp + 0x2d], dl
test dl, dl
jne 0x49762b
jmp 0x49768e
mov edx, dword [esp + 0x34]
add edx, 2
cmp dword [esp + 0x38], edx
sete dl
mov byte [esp + 0x2b], dl
je 0x497641
jmp 0x497643
jmp 0x497683
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x34]
lea eax, [ebx + 2]
cmp ecx, eax
ja 0x497661
jmp 0x497921
lea eax, [ebx + edx + 2]
movzx eax, byte [eax]
mov byte [esp + 0x24], al
mov byte [esp], al
call fcn.0048b220
movzx eax, byte [esp + 4]
mov byte [esp + 0x2a], al
mov byte [esp + 0x2b], al
jmp 0x497683
movzx edx, byte [esp + 0x2b]
mov byte [esp + 0x2d], dl
jmp 0x497690
jmp 0x497690
movzx edx, byte [esp + 0x2d]
test dl, dl
jne 0x49769e
jmp 0x497722
jmp 0x4976a0
mov edx, dword [esp + 0x34]
add edx, 2
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x70]
cmp dword [esp + 0x3c], edx
jl 0x4976b7
jmp 0x4976c2
jmp 0x4976b9
dec dword [esp + 0x70]
jmp 0x4978c0
movzx edx, byte [esp + 0x1f]
test dl, dl
jne 0x4976cd
jmp 0x4976d2
jmp 0x4978be
jmp 0x4976d4
mov eax, dword [esp + 0x70]
test eax, eax
jg 0x4976de
jmp 0x4976f1
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov byte [esp + 4], 0x5c
call fcn.00496f30
jmp 0x4976f3
jmp 0x4976f3
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov byte [esp + 4], 0x2e
call fcn.00496f30
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov byte [esp + 4], 0x2e
call fcn.00496f30
mov eax, dword [esp + 0x70]
mov dword [esp + 0x3c], eax
jmp 0x4978be
jmp 0x497724
movzx edx, byte [esp + 0x1f]
mov byte [esp + 0x2a], dl
test dl, dl
jne 0x497733
jmp 0x497741
cmp dword [esp + 0x70], 1
setne dl
mov byte [esp + 0x2a], dl
jmp 0x497743
jmp 0x497743
movzx edx, byte [esp + 0x2a]
mov byte [esp + 0x2b], dl
test dl, dl
jne 0x497752
jmp 0x497754
jmp 0x497784
movzx edx, byte [esp + 0x1f]
mov ebx, edx
xor edx, 1
mov byte [esp + 0x28], dl
test bl, bl
jne 0x497768
jmp 0x49776a
jmp 0x497779
mov edx, dword [esp + 0x70]
test edx, edx
setne dl
mov byte [esp + 0x28], dl
jmp 0x497779
movzx edx, byte [esp + 0x28]
mov byte [esp + 0x2b], dl
jmp 0x497784
movzx edx, byte [esp + 0x2b]
test dl, dl
jne 0x49778f
jmp 0x4977a2
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov byte [esp + 4], 0x5c
call fcn.00496f30
jmp 0x4977a4
jmp 0x4977a4
jmp 0x49780f
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4977b0
jmp 0x4977c3
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov byte [esp + 4], 0x2e
call fcn.00496f30
jmp 0x4977c5
jmp 0x4977c5
lea eax, [esp + 0x5c]
mov dword [esp], eax
call fcn.00497130
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00497a70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
sub esp, 0xffffff80
ret
mov edx, dword [esp + 0x34]
cmp dword [esp + 0x38], edx
setg dl
mov byte [esp + 0x28], dl
jg 0x497822
jmp 0x49785d
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
cmp eax, ecx
jb 0x49783a
jmp 0x4978b9
add eax, edx
movzx eax, byte [eax]
mov byte [esp + 0x22], al
mov byte [esp], al
call fcn.0048b220
movzx eax, byte [esp + 4]
mov byte [esp + 0x2a], al
xor eax, 1
mov byte [esp + 0x28], al
jmp 0x49785f
jmp 0x49785f
movzx edx, byte [esp + 0x28]
test dl, dl
jne 0x49786a
jmp 0x4978ab
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
cmp eax, ecx
jb 0x497882
jmp 0x4978b4
add eax, edx
movzx eax, byte [eax]
mov byte [esp + 0x21], al
lea ecx, [esp + 0x5c]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.00496f30
jmp 0x49789d
mov edx, dword [esp + 0x34]
inc edx
mov dword [esp + 0x34], edx
jmp 0x49780f
jmp 0x4978ad
jmp 0x4978af
jmp 0x497485
call fcn.0045d960
call fcn.0045d960
jmp 0x4978ad
mov edx, dword [esp + 0x70]
cmp dword [esp + 0x3c], edx
setl dl
mov byte [esp + 0x2a], dl
jl 0x4978d3
jmp 0x49790a
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x5c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00496eb0
movzx eax, byte [esp + 8]
mov byte [esp + 0x29], al
mov byte [esp], al
call fcn.0048b220
movzx eax, byte [esp + 4]
mov byte [esp + 0x2b], al
xor eax, 1
mov byte [esp + 0x2a], al
jmp 0x49790c
jmp 0x49790c
movzx edx, byte [esp + 0x2a]
test dl, dl
jne 0x497917
jmp 0x49791f
dec dword [esp + 0x70]
jmp 0x49791d
jmp 0x4978c0
jmp 0x4978be
call fcn.0045d960
call fcn.0045d960
call fcn.0045d960
mov edx, dword [esp + 0x88]
mov dword [esp + 0x40], edx
cmp dword [esp + 0x34], edx
setl dl
mov byte [esp + 0x2d], dl
jl 0x49794a
jmp 0x497985
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
cmp eax, ecx
jb 0x497965
jmp 0x497a28
add eax, edx
movzx eax, byte [eax]
mov byte [esp + 0x23], al
mov byte [esp], al
call fcn.0048b220
movzx eax, byte [esp + 4]
mov byte [esp + 0x2c], al
mov byte [esp + 0x2d], al
jmp 0x497987
jmp 0x497987
movzx edx, byte [esp + 0x2d]
test dl, dl
jne 0x497992
jmp 0x49799f
mov edx, dword [esp + 0x34]
inc edx
mov dword [esp + 0x34], edx
jmp 0x49799d
jmp 0x497930
mov edx, dword [esp + 0x70]
test edx, edx
sete dl
mov byte [esp + 0x2c], dl
je 0x4979b0
jmp 0x4979fc
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
cmp eax, ecx
jbe 0x4979c8
jmp 0x497a23
sub ecx, eax
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ebx
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.00497ed0
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
test eax, eax
setg al
mov byte [esp + 0x2c], al
jmp 0x4979fe
jmp 0x4979fe
movzx edx, byte [esp + 0x2c]
test dl, dl
jne 0x497a09
jmp 0x497a1c
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov byte [esp + 4], 0x2e
call fcn.00496f30
jmp 0x497a1e
jmp 0x497a1e
jmp 0x4978ad
call fcn.0045d9c0
call fcn.0045d960
call fcn.0045d960
call fcn.0045d960
call fcn.0045d960
call fcn.0045d960
xor eax, eax
mov ecx, ebx
call fcn.0045d960
mov eax, 1
call fcn.0045d960
call fcn.0045d9c0
nop
call fcn.0045c4a0
jmp fcn.00497280