Function at 0x4739f1
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x48ff2e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x70c
mov al, byte [esp + 3]
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
mov cl, byte [esp + 0xf]
push edi
mov byte [esi + 1], cl
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], esi
mov byte [esi], al
mov byte [esi + 8], bl
call dword [0x491250]
mov eax, dword [0x4ab068]
mov dword [esp + 0x724], ebx
cmp eax, ebx
jne 0x473a48
push 0x28
call fcn.0048300e
mov ebp, 1
mov dword [eax + 4], ebx
mov dword [eax + 0x24], ebp
mov dword [0x4ab068], eax
mov dword [eax], ebx
mov edx, dword [0x4ab068]
add esp, 4
mov dword [edx + 8], ebx
jmp 0x473a4d
mov ebp, 1
mov edi, dword [0x4ab064]
push 0x28
inc edi
mov dword [0x4ab064], edi
mov edi, dword [0x4ab068]
call fcn.0048300e
mov dword [eax + 4], edi
mov dword [eax + 0x24], ebx
mov dword [esi + 4], eax
mov dword [esi + 0xc], ebx
mov dword [eax], eax
mov eax, dword [esi + 4]
add esp, 4
lea ecx, [esp + 0x2c]
mov dword [eax + 8], eax
mov dword [esp + 0x724], 0xffffffff
call dword [0x491254]
mov eax, 0x10000
mov edx, 0x20000
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov eax, 0x80000
mov ecx, 0x40000
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov eax, 0xffff
mov dword [esp + 0x724], ebp
mov dword [esp + 0x54], str.Shift
mov dword [esp + 0x60], str.Control
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], 0x4a61f8
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], 0x4a61f4
mov dword [esp + 0x84], str.LButton
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], str.RButton
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], 2
mov dword [esp + 0x9c], str.Cancel
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 3
mov dword [esp + 0xa8], str.MButton
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 4
mov dword [esp + 0xb4], str.BackSpace
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], 8
mov dword [esp + 0xc0], 0x4a61cc
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], 9
mov dword [esp + 0xcc], str.Clear
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], 0xc
mov dword [esp + 0xd8], str.Return
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], 0xd
mov dword [esp + 0xe4], str.Pause
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], 0x13
mov dword [esp + 0xf0], str.Convert
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], 0x1c
mov dword [esp + 0xfc], str.NonConvert
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], 0x1d
mov dword [esp + 0x108], str.Accept
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], 0x1e
mov dword [esp + 0x114], str.ModeChange
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], 0x1f
mov dword [esp + 0x120], str.Escape
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0x1b
mov dword [esp + 0x12c], str.Space
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], 0x20
mov dword [esp + 0x138], str.Prior
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], 0x21
mov dword [esp + 0x144], str.Next
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], 0x22
mov dword [esp + 0x150], 0x4a6160
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], 0x23
mov dword [esp + 0x15c], str.Home
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], 0x24
mov dword [esp + 0x168], str.Left
mov dword [esp + 0x16c], eax
mov dword [esp + 0x170], 0x25
mov dword [esp + 0x174], 0x49f288
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], 0x26
mov dword [esp + 0x180], str.Right
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], 0x27
mov dword [esp + 0x18c], str.Down
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0x28
mov dword [esp + 0x198], str.Insert
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], 0x2d
mov dword [esp + 0x1a4], str.Delete
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], 0x2e
mov dword [esp + 0x1b0], str.Select
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], 0x29
mov dword [esp + 0x1bc], str.Print
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], 0x2a
mov dword [esp + 0x1c8], str.Execute
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], 0x2b
mov dword [esp + 0x1d4], str.SnapShot
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], 0x2c
mov dword [esp + 0x1e0], 0x4a611c
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], 0x2f
mov dword [esp + 0x1ec], 0x4a2858
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1f4], 0x30
mov dword [esp + 0x1f8], 0x4a6118
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], 0x31
mov dword [esp + 0x204], 0x4a6114
mov dword [esp + 0x208], eax
mov dword [esp + 0x20c], 0x32
mov dword [esp + 0x210], 0x4a02b8
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], 0x33
mov dword [esp + 0x21c], 0x4a6110
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], 0x34
mov dword [esp + 0x228], 0x4a610c
mov dword [esp + 0x22c], eax
mov dword [esp + 0x230], 0x35
mov dword [esp + 0x234], 0x4a6108
mov dword [esp + 0x238], eax
mov dword [esp + 0x23c], 0x36
mov dword [esp + 0x240], 0x4a6104
mov dword [esp + 0x244], eax
mov dword [esp + 0x248], 0x37
mov dword [esp + 0x24c], 0x4a6100
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], 0x38
mov dword [esp + 0x258], 0x4a60fc
mov dword [esp + 0x25c], eax
mov dword [esp + 0x260], 0x39
mov dword [esp + 0x264], 0x4a60f8
mov dword [esp + 0x268], eax
mov dword [esp + 0x26c], 0x41
mov dword [esp + 0x270], 0x4a60f4
mov dword [esp + 0x274], eax
mov dword [esp + 0x278], 0x42
mov dword [esp + 0x27c], 0x4a60f0
mov dword [esp + 0x280], eax
mov dword [esp + 0x284], 0x43
mov dword [esp + 0x288], 0x4a60ec
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], 0x44
mov dword [esp + 0x294], 0x4a60e8
mov dword [esp + 0x298], eax
mov dword [esp + 0x29c], 0x45
mov dword [esp + 0x2a0], 0x4a60e4
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x2a8], 0x46
mov dword [esp + 0x2ac], 0x4a60e0
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x2b4], 0x47
mov dword [esp + 0x2b8], 0x4a60dc
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], 0x48
mov dword [esp + 0x2c4], 0x4a60d8
mov dword [esp + 0x2c8], eax
mov dword [esp + 0x2cc], 0x49
mov dword [esp + 0x2d0], 0x4a60d4
mov dword [esp + 0x2d4], eax
mov dword [esp + 0x2d8], 0x4a
mov dword [esp + 0x2dc], 0x4a60d0
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x2e4], 0x4b
mov dword [esp + 0x2e8], 0x4a60cc
mov dword [esp + 0x2ec], eax
mov dword [esp + 0x2f0], 0x4c
mov dword [esp + 0x2f4], 0x4a60c8
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x2fc], 0x4d
mov dword [esp + 0x300], 0x4a60c4
mov dword [esp + 0x304], eax
mov dword [esp + 0x308], 0x4e
mov dword [esp + 0x30c], 0x4a60c0
mov dword [esp + 0x310], eax
mov dword [esp + 0x314], 0x4f
mov dword [esp + 0x318], 0x4a60bc
mov dword [esp + 0x31c], eax
mov dword [esp + 0x320], 0x50
mov dword [esp + 0x324], 0x4a60b8
mov dword [esp + 0x328], eax
mov dword [esp + 0x32c], 0x51
mov dword [esp + 0x330], 0x4a60b4
mov dword [esp + 0x334], eax
mov dword [esp + 0x338], 0x52
mov dword [esp + 0x33c], 0x4a60b0
mov dword [esp + 0x340], eax
mov dword [esp + 0x344], 0x53
mov dword [esp + 0x348], 0x4a60ac
mov dword [esp + 0x34c], eax
mov dword [esp + 0x350], 0x54
mov dword [esp + 0x354], 0x4a60a8
mov dword [esp + 0x358], eax
mov dword [esp + 0x35c], 0x55
mov dword [esp + 0x360], 0x4a60a4
mov dword [esp + 0x364], eax
mov dword [esp + 0x368], 0x56
mov dword [esp + 0x36c], 0x4a60a0
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], 0x57
mov dword [esp + 0x378], 0x4a609c
mov dword [esp + 0x37c], eax
mov dword [esp + 0x380], 0x58
mov dword [esp + 0x384], 0x4a6098
mov dword [esp + 0x388], eax
mov dword [esp + 0x38c], 0x59
mov dword [esp + 0x390], str.ZYXWVUTSRQPONMLKJIHGFEDCBA98765421
mov dword [esp + 0x394], eax
mov dword [esp + 0x398], 0x5a
mov dword [esp + 0x39c], str.Num0
mov dword [esp + 0x3a0], eax
mov dword [esp + 0x3a4], 0x60
mov dword [esp + 0x3a8], str.Num1
mov dword [esp + 0x3ac], eax
mov dword [esp + 0x3b0], 0x61
mov dword [esp + 0x3b4], str.Num2
mov dword [esp + 0x3b8], eax
mov dword [esp + 0x3bc], 0x62
mov ebp, 0x6e
mov dword [esp + 0x3c0], str.Num3
mov dword [esp + 0x3c4], eax
mov dword [esp + 0x3c8], 0x63
mov dword [esp + 0x3cc], str.Num4
mov dword [esp + 0x3d0], eax
mov dword [esp + 0x3d4], 0x64
mov dword [esp + 0x3d8], str.Num5
mov dword [esp + 0x3dc], eax
mov dword [esp + 0x3e0], 0x65
mov dword [esp + 0x3e4], str.Num6
mov dword [esp + 0x3e8], eax
mov dword [esp + 0x3ec], 0x66
mov dword [esp + 0x3f0], 0x4a604c
mov dword [esp + 0x3f4], eax
mov dword [esp + 0x3f8], 0x67
mov dword [esp + 0x3fc], 0x4a6044
mov dword [esp + 0x400], eax
mov dword [esp + 0x404], 0x68
mov dword [esp + 0x408], 0x4a603c
mov dword [esp + 0x40c], eax
mov dword [esp + 0x410], 0x69
mov dword [esp + 0x414], 0x4a602c
mov dword [esp + 0x418], eax
mov dword [esp + 0x41c], 0x6b
mov dword [esp + 0x420], 0x4a6018
mov dword [esp + 0x424], eax
mov dword [esp + 0x428], 0x6d
mov dword [esp + 0x42c], 0x4a6034
mov dword [esp + 0x430], eax
mov dword [esp + 0x434], 0x6a
mov dword [esp + 0x438], 0x4a6008
mov dword [esp + 0x43c], eax
mov dword [esp + 0x440], 0x6f
mov dword [esp + 0x444], 0x4a6020
mov dword [esp + 0x448], eax
mov dword [esp + 0x44c], 0x6c
mov dword [esp + 0x450], 0x4a6010
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], ebp
mov dword [esp + 0x45c], 0x4a6004
mov dword [esp + 0x460], eax
mov dword [esp + 0x464], 0x70
mov dword [esp + 0x468], 0x4a6000
mov dword [esp + 0x46c], eax
mov dword [esp + 0x470], 0x71
mov dword [esp + 0x474], 0x4a5ffc
mov dword [esp + 0x478], eax
mov dword [esp + 0x47c], 0x72
mov dword [esp + 0x480], 0x4a5ff8
mov dword [esp + 0x484], eax
mov dword [esp + 0x488], 0x73
mov dword [esp + 0x48c], 0x4a5ff4
mov dword [esp + 0x490], eax
mov dword [esp + 0x494], 0x74
mov dword [esp + 0x498], 0x4a5ff0
mov dword [esp + 0x49c], eax
mov dword [esp + 0x4a0], 0x75
mov dword [esp + 0x4a4], 0x4a5fec
mov dword [esp + 0x4a8], eax
mov dword [esp + 0x4ac], 0x76
mov dword [esp + 0x4b0], 0x4a5fe8
mov dword [esp + 0x4b4], eax
mov dword [esp + 0x4b8], 0x77
mov dword [esp + 0x4bc], 0x4a5fe4
mov dword [esp + 0x4c0], eax
mov dword [esp + 0x4c4], 0x78
mov dword [esp + 0x4c8], 0x4a5fe0
mov dword [esp + 0x4cc], eax
mov dword [esp + 0x4d0], 0x79
mov dword [esp + 0x4d4], 0x4a5fdc
mov dword [esp + 0x4d8], eax
mov dword [esp + 0x4dc], 0x7a
mov dword [esp + 0x4e0], 0x4a5fd8
mov dword [esp + 0x4e4], eax
mov dword [esp + 0x4e8], 0x7b
mov dword [esp + 0x4ec], 0x4a5fd4
mov dword [esp + 0x4f0], eax
mov dword [esp + 0x4f4], 0x7c
mov dword [esp + 0x4f8], 0x4a5fd0
mov dword [esp + 0x4fc], eax
mov edi, 0x91
mov dword [esp + 0x500], 0x7d
mov dword [esp + 0x504], 0x4a5fcc
mov dword [esp + 0x508], eax
mov dword [esp + 0x50c], 0x7e
mov dword [esp + 0x510], 0x4a5fc8
mov dword [esp + 0x514], eax
mov dword [esp + 0x518], 0x7f
mov dword [esp + 0x51c], 0x4a5fc4
mov dword [esp + 0x520], eax
mov dword [esp + 0x524], 0x80
mov dword [esp + 0x528], 0x4a5fc0
mov dword [esp + 0x52c], eax
mov dword [esp + 0x530], 0x81
mov dword [esp + 0x534], 0x4a5fbc
mov dword [esp + 0x538], eax
mov dword [esp + 0x53c], 0x82
mov dword [esp + 0x540], 0x4a5fb8
mov dword [esp + 0x544], eax
mov dword [esp + 0x548], 0x83
mov dword [esp + 0x54c], 0x4a5fb4
mov dword [esp + 0x550], eax
mov dword [esp + 0x554], 0x84
mov dword [esp + 0x558], 0x4a5fb0
mov dword [esp + 0x55c], eax
mov dword [esp + 0x560], 0x85
mov dword [esp + 0x564], 0x4a5fac
mov dword [esp + 0x568], eax
mov dword [esp + 0x56c], 0x86
mov dword [esp + 0x570], 0x4a5fa8
mov dword [esp + 0x574], eax
mov dword [esp + 0x578], 0x87
mov dword [esp + 0x57c], 0x4a61ac
mov dword [esp + 0x580], eax
mov dword [esp + 0x584], 0x14
mov dword [esp + 0x588], 0x4a5fa0
mov dword [esp + 0x58c], eax
mov dword [esp + 0x590], 0x90
mov dword [esp + 0x594], 0x4a5f94
mov dword [esp + 0x598], eax
mov dword [esp + 0x59c], edi
mov dword [esp + 0x5a0], 0x4a5f90
mov dword [esp + 0x5a4], eax
mov dword [esp + 0x5a8], 0xba
mov dword [esp + 0x5ac], 0x4a5f8c
mov dword [esp + 0x5b0], eax
mov dword [esp + 0x5b4], 0xbb
mov dword [esp + 0x5b8], 0x4a5f88
mov dword [esp + 0x5bc], eax
mov dword [esp + 0x5c0], 0xbc
mov dword [esp + 0x5c4], 0x4a5f84
mov dword [esp + 0x5c8], eax
mov dword [esp + 0x5cc], 0xbd
mov dword [esp + 0x5d0], 0x4a5f80
mov dword [esp + 0x5d4], eax
mov dword [esp + 0x5d8], 0xbe
mov dword [esp + 0x5dc], 0x49fe58
mov dword [esp + 0x5e0], eax
mov dword [esp + 0x5e4], 0xbf
mov dword [esp + 0x5e8], 0x4a5f7c
mov dword [esp + 0x5ec], eax
mov dword [esp + 0x5f0], 0xc0
mov dword [esp + 0x5f4], 0x4a5f78
mov dword [esp + 0x5f8], eax
mov dword [esp + 0x5fc], 0xdb
mov dword [esp + 0x600], 0x49f1dc
mov dword [esp + 0x604], eax
mov dword [esp + 0x608], 0xdc
mov dword [esp + 0x60c], 0x4a5f74
mov dword [esp + 0x610], eax
mov dword [esp + 0x614], 0xdd
mov dword [esp + 0x618], 0x4a5f70
mov dword [esp + 0x61c], eax
mov dword [esp + 0x620], 0xde
mov dword [esp + 0x624], 0x4a61fc
mov dword [esp + 0x628], edx
mov dword [esp + 0x62c], edx
mov dword [esp + 0x630], 0x49f160
mov dword [esp + 0x634], ecx
mov dword [esp + 0x638], ecx
mov dword [esp + 0x63c], 0x4a6380
mov dword [esp + 0x640], eax
mov dword [esp + 0x64c], eax
mov dword [esp + 0x658], eax
mov dword [esp + 0x664], eax
mov dword [esp + 0x670], eax
mov dword [esp + 0x67c], eax
mov dword [esp + 0x688], eax
mov dword [esp + 0x694], eax
mov dword [esp + 0x6a0], eax
mov dword [esp + 0x6ac], eax
mov dword [esp + 0x6b8], eax
mov dword [esp + 0x6c4], eax
mov dword [esp + 0x6d0], eax
mov dword [esp + 0x6dc], eax
mov dword [esp + 0x6e8], eax
mov dword [esp + 0x6f4], eax
mov dword [esp + 0x700], eax
mov dword [esp + 0x70c], eax
lea eax, [esp + 0x5c]
mov dword [esp + 0x644], 0x13
mov dword [esp + 0x648], 0x4a61a8
mov dword [esp + 0x650], 0x1b
mov dword [esp + 0x654], 0x4a61bc
mov dword [esp + 0x65c], 0xd
mov dword [esp + 0x660], 0x4a6378
mov dword [esp + 0x668], 8
mov dword [esp + 0x66c], 0x4a6374
mov dword [esp + 0x674], 0x2d
mov dword [esp + 0x678], 0x4a6370
mov dword [esp + 0x680], 0x2e
mov dword [esp + 0x684], 0x4a6170
mov dword [esp + 0x68c], 0x21
mov dword [esp + 0x690], 0x4a6164
mov dword [esp + 0x698], 0x22
mov dword [esp + 0x69c], 0x4a6364
mov dword [esp + 0x6a4], edi
mov dword [esp + 0x6a8], 0x4a635c
mov dword [esp + 0x6b0], 0x6b
mov dword [esp + 0x6b4], 0x4a6354
mov dword [esp + 0x6bc], 0x6d
mov dword [esp + 0x6c0], 0x4a634c
mov dword [esp + 0x6c8], 0x6a
mov dword [esp + 0x6cc], 0x4a6344
mov dword [esp + 0x6d4], 0x6f
mov dword [esp + 0x6d8], 0x4a6338
mov dword [esp + 0x6e0], ebp
mov dword [esp + 0x6e4], 0x4a6134
mov dword [esp + 0x6ec], 0x2c
mov dword [esp + 0x6f0], 0x4a5f64
mov dword [esp + 0x6f8], 0x100
mov dword [esp + 0x6fc], 0x4a5f58
mov dword [esp + 0x704], 0x101
mov dword [esp + 0x708], 0x4a5f4c
mov dword [esp + 0x710], 0x102
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 0x90
mov ecx, dword [esp + 0x24]
mov dl, byte [esp + 0x13]
mov byte [esp + 0x14], dl
xor edx, edx
mov edi, dword [ecx - 8]
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
cmp ebp, 0xfffffffd
jbe 0x474b35
call dword [0x491240]
mov edx, dword [esp + 0x18]
cmp edx, ebx
je 0x474b35
mov al, byte [edx - 1]
cmp al, bl
je 0x474b35
cmp al, 0xff
je 0x474b35
cmp ebp, ebx
jne 0x474b8d
dec al
mov byte [edx - 1], al
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
jmp 0x474bc1
cmp ebp, ebx
jne 0x474b74
cmp edx, ebx
je 0x474b66
mov al, byte [edx - 1]
lea ecx, [edx - 1]
cmp al, bl
je 0x474b5d
cmp al, 0xff
je 0x474b5d
dec al
mov byte [ecx], al
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
jmp 0x474bc1
push ecx
call fcn.00483008
add esp, 4
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
jmp 0x474bc1
mov eax, dword [esp + 0x20]
cmp eax, 0x1f
ja 0x474b81
cmp eax, ebp
jae 0x474b9c
push 1
lea ecx, [esp + 0x18]
call dword [0x491248]
push ebp
lea ecx, [esp + 0x18]
call dword [0x491244]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x4c]
mov ecx, ebp
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x1c], ebp
mov byte [ecx + ebp], bl
mov dl, byte [esp + 0x14]
mov eax, dword [0x491230]
mov byte [esp + 0x34], dl
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov ecx, dword [eax]
lea edx, [esp + 0x14]
push ecx
push ebx
push edx
lea ecx, [esp + 0x40]
mov byte [esp + 0x730], 2
call dword [0x491234]
xor eax, eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], eax
lea eax, [esp + 0x34]
lea ecx, [esp + 0x714]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0x72c], 3
call fcn.00479b60
mov edi, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [esp + 0x50], edx
je 0x474c49
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x474c40
cmp al, 0xff
je 0x474c40
dec al
mov byte [ecx], al
jmp 0x474c49
push ecx
call fcn.00483008
add esp, 4
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov eax, dword [ebp - 4]
mov byte [esp + 0x724], 1
mov dword [edi + 0x1c], eax
mov eax, dword [ebp]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x474c92
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x474c89
cmp al, 0xff
je 0x474c89
dec al
mov byte [ecx], al
jmp 0x474c92
push ecx
call fcn.00483008
add esp, 4
mov eax, dword [esp + 0x28]
add ebp, 0xc
dec eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], eax
jne 0x474ad0
mov ecx, dword [esp + 0x71c]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x718
ret